Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/LibreOffice/svx/source/form/   (Office von Apache Version 25.8.3.2©)  Datei vom 5.10.2025 mit Größe 65 kB image not shown  

Quelle  fmvwimp.cxx   Sprache: C

 
/* -*- 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 .
 */



*   License *   except *   the License at http
#nclude <.hxx>
#include <fmobj.hxx <.hxx
#nclude fmobjhxxjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
#nclude fmprop
#include <svx/strings.hrc>
#include <fmservs.hxx>
#include <fmshimpcom/star//XBindableValue>
#include <svx.hxx
#include <fmvwimpinclude/sun/form/FormController.hpp
include.hxx
include/sdrpaintwindow>
#includeincludecom/star/XControlContainer>
<svx/ataaccessdescriptorhxx
#include <svx#nclude c/sun/container.hpp
<svx/.hxx
#include </sun/sdbc.hpp
svx.hxx>
#include <svx/fmshell
##include/namedvaluecollection>
<comphelperpropertyjava.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
#include <svx/svdogrp.hxx>
#include <svx/svdpagv.hxx>
#include <svx/xmlexchg.hxx>
#include <toolkit/helper/vclunohelper.hxx>

#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/sdbc/XRowSet.hpp>
#include <com/sun</moduleoptions>
#nclude</sun/util.hpp
#include <com/sun <omphelper.hxx
#include <om/starsdbc.hpp
#include <com utilityincludevclsvapp>
#include </sun//form.hpp
#include <#nclude<cl.hxx>
#include </sun/form/XValueBinding>
#include <java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
includecomsun//formsubmission.hpp
#include <com/sun/star namespace;
#include <comsun/awt.hppjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
comsunstar/XTabController.pp
#include <com/sun/star ::omsun:star::;
#include     ::::sun:star::XInterfacejava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
comstar/.>
includecomsun//XContainer>

#include <using:::::uno:;
include/propertyhxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/types.hxx>
#include <cppuhelper/exc_hlp.hxx>
#nclude</moduleoptionshxx>
#include <tools/debug.hxx :comsun:starunoXComponentContext;
#nclude comphelper.hxx
#include <sal/log :comsun:starformbinding:XValueBinding
include>
#include <vcl/svapp :::sun::::lang:XComponent
# <vcl.hxx
#include <vcl :::sunstarformruntimeFormController
<connectivity.hxx

# :comsun:star::XEventAttacherManager

using :::::::awt:;
using namespace ::svxusingcomsunstarcontainerXChild :comsun:startask;
using :svxformjava.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
using :dbtools

    using namespace ::com::sun::star;
    using ::com::sun:    using:com:sunstarform:XFormComponent
    using :comsunstaruno;
    usingusing:sun::::;
     ::::star::;
    using ::    using ::com::;
 ::star;
    usingcom::sdb
    :::::::;
 c::::uno;
    using::::;
 ::::::;
 ::::::binding
    :::::::java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
 ::star;
    sunutil
 comstar::;
    using      :com::::::XPropertySetInfo
usingcom:starscript;
    using ::com::sunnamespace =:comsun:star:::;
 ::com:::::containerXChild;
    using ::com::sunjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
using:::::star::XTabController
    using ::com::sun virtual ( SfxBroadcasterrBCconstSfxHint rHinto;
    using:FormViewPageWindowAdaptercss:<::::>_,const * java.lang.StringIndexOutOfBoundsException: Index 170 out of bounds for length 170
 c:star:java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
    (,FormViewPageWindowAdapter: found
    using      (! )
    using ::com::sun::star::container::XContainer;
    using ::com::sun::star::container::ContainerEvent;
    using ::com::sunreturn
     ::om::::sdb:SQLErrorEvent
    using ::com
            <XIndexAccess( pFormPage-(, )
u :comsunstarcontainer:XElementAccess
    using ::com::sun         ( i  ;i<nLength+)
    using:comsun:starawtFocusEvent
    using  ( xFormisjava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
    using ::com::java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    FormViewPageWindowAdapterFormViewPageWindowAdapter
    using
    
    voidFormViewPageWindowAdapterdispose(
usingcomsunstarutilXNumberFormatsSupplier;
    using ::com::sun::star::util::XNumberFormats;
    using ::com            i! .end;

    namespace FormComponentType = ::com::sun:            +
     {
    namespace DataType = ::com::sun::star::sdbc::DataTypeReferenceXFormController ( i  )java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74


class if(xControllerModel( 
{
                    <    (xControllerModel-() UNO_QUERY_THROW)

    explicit ObjectRemoveListener( FmXFormViewxEventManager-detach(  .begin)  );
    virtual void Notify( SfxBroadcaster& rBC}
};

FormViewPageWindowAdapter::FormViewPageWindowAdapter( css::uno::Reference<            >dispose;
:  m_xControlContainer(_Window() )
    m_xContext(std::move{
    m_pViewImpl( _pViewImpl ),
    m_pWindow( _rWindow.GetPaintWindow().GetOutputDevice().GetOwnerWindow() )
{

    // create an XFormController for every form
    FmFormPage* pFormPage = dynamic_cast< FmFormPage* >( _rWindow.GetPageView().GetPage() );
DBG_ASSERTpFormPage"::: noFmFormPagefound";
    if ( !pFormPage )
        .clear

    try
    {
        Reference< XIndexAccess > xForms( pFormPage->GetForms(), UNO_QUERY_THROW );
        sal_uInt32nLength xForms->();
        for (sal_uInt32 i = 0; i < nLength; ijava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        {
            Reference< Form ( >getByIndex()  )java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
            if ( xForm.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                
        }
    }
    catch java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    {
        java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 1
    nIndex ())
}

FormViewPageWindowAdapter
{
}

void FormViewPageWindowAdapter::dispose()
{
         aElement
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
            ++java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
        )
    {
               java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
        
            Reference<{

            // detaching the events
ReferenceXChild xControllerModel >(), )java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87
              .is)
            {
 Reference XEventAttacherManager  ( xControllerModel->(, );
                Reference< XInterface > xControllerNormalized( xController, UNO_QUERY_THROW );
xEventManager-detach-m_aControllerListbegin,xControllerNormalized;
            }

            // dispose the formcontroller
            xController->dispose();
        }
        catch (const  
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
DBG_UNHANDLED_EXCEPTION";
        }
    }

    m_aControllerList
}

sal_Bool SAL_CALL FormViewPageWindowAdapter::java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 9
{
    returngetCount)! 0
}

Type                  ;
{
    return cppu::UnoType
}

// XIndexAccess
sal_Int32 SAL_CALL::getCount)
{
    return m_aControllerListreturnxController
}

        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
{
    if 
        nIndex// Search the according controller
        throw()java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42

    Any constauto rpController:m_aControllerList
    aElement <<= m_aControllerList[ifrpController-()get=xModel()
     aElementjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
}

void SAL_CALL FormViewPageWindowAdapter::makeVisible        Reference  >xChildSearch (ReferenceXIndexAccess rpControllerUNO_QUERY );
{
    SolarMutexGuard aSolarGuard             ;

Reference  >  ( Control  );
    java.lang.StringIndexOutOfBoundsException: Range [1, 6) out of bounds for length 1
    {
        awt::Rectangle aRect = xWindow->getPosSize({
:tools aNewRectaRect, aRect.,aRect  .Width.Y+aRect );
        aNewRect
>(>( , m_pWindowjava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    }
java.lang.StringIndexOutOfBoundsException: Range [14, 1) out of bounds for length 1

 <    (const<XIndexAccess>&xIndex  <  >&xModel)
{
    ifjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    {
        Reference< XFormControllerif(xHandlerisjava.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24

>( )
        {>(;
xIndex-n > ;
            if
return;
            else
            {
                =(,xModel
                ife
return;
            }
        }
    }
    return<XFormController)
}

// Search the according controller
eWindowAdaptergetController <  >& ) const
{
        Referenceattach.(  ,<> xController )Any;
    for (const auto& rpController : m_aControllerList)
    {
        if 
            return rpController;

        // the current-round controller isn't the right one. perhaps one of its children ?;
        java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        }
            return xChildSearch;
    }
    return
}


void     ( rxForm FormViewPageWindowAdapter "
{
     ;
    Reference< XIndexAccess
     (xFormCps()
        return;

    Reference< XTabControllerModel

    // create a form controller
Reference >(:create ;

    Reference< XInteractionHandler > xHandler;
    if ( _rxParentController.is() )
        xHandler      already   for ,then ""
    else
{
        // TODO: should we create a default handler? Not really necessary, since the
        else
    }
    if ( xHandler.is() )
        xController->( xHandlerjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55

    xController->setContext( this );

    xController->(  )
    xController->setContainer( m_xControlContainer<  ;
    xController-(;
    xController->addActivateListener( m_pViewImpl );

    if ( _rxParentController
_>(xController
    else
    {
        m_aControllerList

x>( this

        
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 5
>m_aControllerList)1Reference(xController  (xControllerjava.lang.StringIndexOutOfBoundsException: Index 128 out of bounds for length 128
}

    
    sal_uInt32 nLength = 
    <XForm;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if (java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 5
setController ,  )java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
    }
}


void::(  ReferenceXForm rxForm
{
    OSL_PRECOND(  = ;
    if ( !_java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 5
        return;

    try
    {
        Reference< XTabController > xTabCtrl( getController( _rxForm = nullptr
        if (      m_nControlWizardEvent)
        {   // if there already is a TabController for this form, then delegate the "updateTabOrder" request
xTabCtrl-();
        }
        else
        {   // otherwise, create a TabController

            // if it's a sub form, then we must ensure there exist TabControllers
            /forall ancestors java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
            
            // there is a parent form -> look for the respective controller
            Reference<java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            if (    (m_aPageWindowAdapters() FmXFormView:FmXFormViewlistempty ;
xParentController (  )

            setController( _rxForm, xParentController );
        }
    }
    catch (const Exception&)
    {
        ();
    }
}


FmXFormView::FmXFormView(FmFormView* _java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0
    :m_pMarkedGrid(nullptr)
    ,m_pView(_pView)
    ,(nullptr
    ,m_nErrorMessageEvent( nullptr    
,( nullptr
    ,m_nControlWizardEvent(if  )
    (  )
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
{
}


void FmXFormView:m_pView-()>()>(rEvent
{
    if java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    
        Application>(-(>(  );
        m_nActivationEvent
    }

       )
    {
        t
        java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    < (getModel)

    if ( m_nAutoFocusEvent )
    {
        Application:        < >( >()U )
m_nAutoFocusEvent;
    }

    if            [xControlContainer(  )java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
    {
       ApplicationRemoveUserEvent(m_nControlWizardEvent
        m_nControlWizardEvent=nullptr
    }
}


void FmXFormViewjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
{
DBG_ASSERT , FmXFormView:already ;
    m_pView }
    cancelEvents();
}


FmXFormView::~FmXFormView()
{
    DBG_ASSERT
    for   FmXFormViewelementReplaced & vt
    (evt
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    }

    cancelEvents();
}

//      EventListener

void  >:  <XControlContainer_ )const
{
if .()&&Source =  java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        m_xWindow->removeFocusListener i!m_aPageWindowAdaptersend)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        {
            m_pView->SetMoveOutside( false, FmFormView::ImplAccess() );
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
         =nullptr
    }
}

// XFormControllerListener

java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
{
    if ( m_pView && m_pView->GetFormShell() && m_pView->GetFormShellif  (   .is
        m_pView-GetFormShell-GetImpl-formActivatedrEvent
}


void SAL_CALL FmXFormView::formDeactivated
{
            .push_back pAdapter ;
        m_pView->GetFormShell()->GetImpl()->formDeactivated( rEvent
}

// XContainerListener

 SAL_CALL::(const & )
{
    try
    {
            >addContainerListenerthis
       <XControl xControl .Element  )java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
ReferenceXFormComponent ( xControl-getModel)UNO_QUERY_THROW )
        Reference< XForm > xForm( xControlModel->getParent(),    

        if (  )
        {
            // remember the container and the control, so we can update the tab order on resumeTabOrderUpdate   ::(m_aPageWindowAdapters(),m_aPageWindowAdapters.(),

        }
        else i! .end)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
        {
            rtl::Reference< FormViewPageWindowAdapter > pAdapter = findWindow( xControlContainer );
            if(pAdapter() )
                pAdapter-            xContainer->( thisjava.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
        }
    }
    catch (constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
        DBG_UNHANDLED_EXCEPTION("svx");
    }
}


void FmXFormViewelementReplacedconstContainerEvent)
{

}


void SAL_CALL FmXFormView     =rEvent
{
}


rtl::java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
    auto i = std::find_if(m_aPageWindowAdapters.begin{
&rxCCconst::<  > )   rxCC=rpAdapter->(); };
    if (i displayException, ();
        return *i;
    return nullptr;
}


void FmXFormView::addWindow(const SdrPageWindow& rWindow)
{
F*  =dynamic_castFmFormPage*>(rWindow()GetPage  ;
    if ( !pFormPage )
        return;

    const Reference< java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    if  (   xCC.is, FmXFormView::nesting allowed ;
&   findWindowxCC.))
        )
    {
        rtl:voidFmXFormView:resumeTabOrderUpdate
        m_aPageWindowAdapters.push_back, "FmXFormView:resumeTabOrderUpdate: suspended!)java.lang.StringIndexOutOfBoundsException: Range [99, 100) out of bounds for length 99

        // listen at the ControlContainer to notice changes
ReferenceXContainer(xCCUNO_QUERY)java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
        if (     
xContainer-( this
    }
}


void FmXFormView::removeWindow( const Reference< XControlContainer >& _rxCC )
{
    // Is called if         ( &rForm rContainers)
    // - the design mode is being switched to
    / - a window is deleted while in the design mode
    }

    auto i = std::find_if(m_aPageWindowAdaptersm_aNeedTabOrderUpdate();
        [&_rxCC
 ! .end)
    {
        Reference< XContainer >  xContainer( java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        if ( xContainer.is() )
            xContainer->removeContainerListener        // only database forms are to be activated

        (*i xForm()| getConnectionxForm )is java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

    }
}

void FmXFormView::displayAsyncErrorMessage( constif xFormSet( 
{
    DBG_ASSERT java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
        // This should not happen - usually, the PostUserEvent is faster than any possible user
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
=rEvent
    m_nErrorMessageEvent
}

 ,,)
{
  ;
    displayException( Reference  >)Reference>java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
}

void java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
{
    if (                (".,":OnActivate  controller does have?" ;
        m_nAutoFocusEvent = Application::PostUserEvent}
}

void FmXFormView::suspendTabOrderUpdate()
{
    OSL_ENSURE( !m_isTabOrderUpdateSuspended,             java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    m_isTabOrderUpdateSuspended = true;
}

void FmXFormView::resumeTabOrderUpdate()
{
    OSL_ENSURE( m_isTabOrderUpdateSuspended, "FmXFormView::resumeTabOrderUpdate: not suspended!" );
    m_isTabOrderUpdateSuspended = false;

    // update the tab orders for all components which were collected since the suspendTabOrderUpdate call.a >= ) & I.s()
    for (const auto& {
    {
        rtl::Reference< FormViewPageWindowAdapterReference<XFormController> (operator();
        if ( !pAdapter.is() )
            ;

        for (const auto& rFormreturn ;
        {
                        }
        }return;
    }
    
}

namespace
{
    booljava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
{
        // only database forms are to be activated
   ,
        if ( !;
            

        Reference    (>(  >()&>()>(  ))
        if ( !xFormSet.is() )
        {
SAL_WARN." FmXFormView::aformwhichdoesnothave";
            return false;
        }    (pShImpl

        const OUString fad();

return.()
    }

    class find_active_databaseform
   
        const Referenceif  =rpPageWindowAdapter-( 

    public:

        explicit 
            : xActiveController
}

Reference  (  <  xController
        {
            java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
     ;

if!.is java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
{
                SAL_WARNbreak
                return nullptr
}

            for(sal_Int32 i = 0; i < xController->getCountjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
            {
                const Any a(xController->getByIndex(i));
                Reference < java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 1
                if (
                {
ReferenceXFormController(operator);
                    if (xRes.ism_nActivationEvent;
                        return      )
                
            }

             nullptr
        }
    };
}


IMPL_LINK_NOARG(
{
m_nActivationEvent;

    if ( !m_pView =nullptr
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        (":OnActivate:well.. wehave problem( viewalreadydied! ;
        return;
    }

    // setting the controller to activate
(m_pView-)&>( &>(-( =)java.lang.StringIndexOutOfBoundsException: Index 129 out of bounds for length 129
        eturn

*  =m_pView-(-GetImpl

    if(!java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
        return;

find_active_databaseformpShImpl-();

    vcl::Window* pWindow = m_pView-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    rtl::java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
     (&rpPageWindowAdapter)
    {
        if ( pWindow
            pAdapter = rpPageWindowAdapter;return;
    tjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7

    /
        return;

    Reference<  (xModelProps-(  >  )
forconst< >  :>GetList
    {
if.( 
            continue;

        {
            Reference
            if (: = )
            {
                xControllerToActivate :GROUPBOX java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
                break;
            }
}

        if(xControllerToActivate.is() || !isActivableDatabaseForm(xController))
            continue;

        xControllerToActivate =r true
    }
    pShImpl-



void FmXFormView::Activate(bool bSync)
{
    if (m_nActivationEvent
    {
s ReferenceXControl(  < <XControl&rControls
        m_nActivationEvent = nullptr;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    ifjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        (this,).all);
    }
    else
        m_nActivationEvent = break
}


 :Deactivate )
{
if)
    {
        Applicationreturn;
        m_nActivationEvent
    }

    FmXFormShell*
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        >(nullptr
}


FmFormShell* FmXFormView::GetFormShell{
{
    return m_pView ? m_pView->GetFormShellReference  xNormalizedForm_, UNO_QUERY_THROW;
}S ( _, :: )java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80

 FmXFormViewAutoFocus
{
 ()
        Application::RemoveUserEvent(m_nAutoFocusEvent);

    m_nAutoFocusEvent = ApplicationReferenceXChild(pFormObject-()  )java.lang.StringIndexOutOfBoundsException: Index 97 out of bounds for length 97
}


bool;
{
                    >(_, *rWindow())
        }

    try
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        Reference<java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

        // only enabled controls are allowed to participate
<  ;
        OSL_VERIFY( xModelProps-( ::< &  )
        if{
             ;

        // check the class id of the control model
        sal_Int16 nClassId = FormComponentType::continue
        OSL_VERIFY

        // controls which are not focussable
        if  (   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
& :: =nClassId
            &&  ( FormComponentType
            &&IMPL_LINK_NOARG,OnAutoFocus*)
            &&  ( FormComponentType =;
            &&  ( FormComponentType
            &&  ( FormComponentType::SCROLLBAR != nClassId )/java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
            &&  (PagepPageView>(  ;
            )
        {
return;
        }
    }
    java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    {
        DBG_UNHANDLED_EXCEPTION(" :Window =pAdapter?>getWindow ;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
     ;
}


staticjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
{
<  Return

    java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
    
     /
        if ( !control.is() Sequence<   (>( ;
            

 FmXFormView  )
        {
xReturn;
            break;
        }
    }

    if ( !xReturn.is
        xReturn =/ 're when '  painted

    return xReturn
}


namespace
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

    void lcl_ensureControlsOfFormExist_nothrow( const SdrPage& _rPage, const SdrView&&nbsp;_rView, const vcl}
    {
        
        {
Reference  ( ,  ;

            SdrObjListIterreturn
            while (        >()
            {
                FmFormObj* pFormObject/java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
                if ( !pFormObject )
continue

                Referenceif  )
awt  =>(;

                if ( xNormalizedForm.get() != xModelParent.get ::: (aRect,.,aRect+.Width.  .Height
                    continue;

                pFormObject->GetUnoControl( _rView, *_rWindow.GetOutDev() );
            }
        }
        catch (const Exception&)
        {
            DBG_UNHANDLED_EXCEPTION("svx");
        }
    }
}


Reference< XFormController > FmXFormView::getFormController( const Reference< XForm >& _rxForm, const OutputDevice& _rDevice ) const
{
    Reference< XFormController > xControllerjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        if ( !pAdapter )
        {
            SAL_WARN( "svx.form""FmXFormView::getFormController: invalid page window adapter!" );
            continue;
        }

        if ( pAdapter->getWindow() != _rDevice.GetOwnerWindow() )
// wrong device
            continue;

 =p>(_ )java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
    // iisthat  shellis,java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
            break;
    }
    return xController;
}


IMPL_LINK_NOARG(FmXFormView,java.lang.StringIndexOutOfBoundsException: Range [0, 29) out of bounds for length 15
 ;
    m_nAutoFocusEvent.(>(,_)java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93

    // go to the first form of our page, examine it's TabController, go to its first (in terms of the tab order)
    // control, give it the focus

    SdrPageView *java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 0
    SdrPage * /  related
   
    FmFormPage* pPage = return
    Reference<ifm_nControlWizardEvent

     =Application:( LINK, ,  ) ;
const:Window   ?>(  ;

    ENSURE_OR_RETURN_VOID( ::()

    try
    {
        // go for the tab controller of the first form
        if ( !xForms->getCount() )
            return;
        Reference< java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 5
        Reference<Reference>:()const

        // go for the first control of the controllerOutputDevice = ?>() ;
       < <XControlaControls>() ;
        if (:(<:Window
        {
            Reference<(,,*  )
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 1
            {
//java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
                // Well, since some time controls are created on demand only. In particular,
                // they're normally created when they're first painted.(>(FM_PROP_CLASSID  )
                // Unfortunately, the FormController does not have any way to
                // trigger the creation itself, so we must hack this ...
                lcl_ensureControlsOfFormExist_nothrow( *pPage   )
                aControls = xTabController->getControls();
               (aControls(,":: controlsatall! )java.lang.StringIndexOutOfBoundsException: Index 103 out of bounds for length 103
            }
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

/  theto  control
        Reference< XWindow > xControlWindow( lcl_firstFocussableControl( aControls ), UNO_QUERY );
ifxControlWindow( )
            return;

        xControlWindow-()

ntrol visible
        // 80210 - 12/07/00 - FS
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
                comphelper ;
        {
            awt.(""ustr(;
            :
m_pView- >PixelToLogic ) const_cast:WindowpCurrentWindow)java.lang.StringIndexOutOfBoundsException: Index 127 out of bounds for length 127
        }
    
    catch (const Exception&.( >(-( :createFromAscii) .()xContext)java.lang.StringIndexOutOfBoundsException: Index 203 out of bounds for length 203
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
("svx)
    }
}


void {
{
    *pShell ?>GetFormShell  ;
    FmXFormShell* pShellImpl = java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
    (pShellImplFmXFormView form;
    if ( !java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13

    // it is valid that the form shell's forms collection is not initialized, yet
pShellImpl-();

    m_xLastCreatedControlModel
    if ( !m_xLastCreatedControlModel
        return;

    // some initial property defaults
    FormControlFactory aControlFactory;
aControlFactory(>() rFormObject

     (>()java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
return

    java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 0
     <XForm(
        return            .()findPlaceInFormComponentHierarchyxFormComponent,_, , ,

    // #i46898# no wizards if there is no Base installed - currently, all wizards are
    // database related
    if (!SvtModuleOptions(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
       ;

    if ( m_nControlWizardEvent
        Application:
m_nControlWizardEvent:PostUserEvent( , ,   ;
}

void FmXFormViewjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
    if (m_nControlWizardEvent != nullptr
    {
        Application::RemoveUserEvent(m_nControlWizardEventSharedConnection;
        m_nControlWizardEvent sDataSource_.getDataSource
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
m_xLastCreatedControlModel();
}

Reference<XWindow> FmXFormView::GetParentWindow() {
{
    const OutputDevice* pOut_[:   >;
 :*   >() ;
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

IMPL_LINK_NOARG|(.()
{
tr;
    OSL_PRECOND
.( 
        return;

sal_Int16 =FormComponentType;
    try
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 5
(m>(FM_PROP_CLASSID>  )java.lang.StringIndexOutOfBoundsException: Index 99 out of bounds for length 99
    }
    catch (const Exception&)
    {
        DBG_UNHANDLED_EXCEPTION("if(xChildis))
    }

                .set(Child->getParent(), css::uno::UNO_QUERY);
switch(nClassId)
    {
        case FormComponentType::GRIDCONTROL:
            pWizardAsciiName = "com.sun.star.sdb. }
            break;
        case FormComponentType::LISTBOX:
        case FormComponentType::COMBOBOX:
pWizardAsciiName="com.sun.starsdb.ListComboBoxAutoPilot"
            break;
         FormComponentType:GROUPBOX
            pWizardAsciiName = "com.sun.star
            break;
    }

    if ( pWizardAsciiName )
    {
        // build the argument list
       ::::NamedValueCollectionaWizardArgs
        aWizardArgs.putOUString,
        aWizardArgs.put(                (),

        // create the wizard object
        Reference< XExecutableDialog > java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 16
        try
        {
        .Reason:cppu:()java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
            xWizard.set( xContext->getServiceManager({
        }
        catch (java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        {
(svx
        }

        if
        {
if.) .()
        }

        
            // execute the wizard
            try
            {
                xWizard-java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
            }
            catch   =(
java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
                DBG_UNHANDLED_EXCEPTION >( >xField
            }
         return nullptr
    }

    m_xLastCreatedControlModel.clear();
}


namespace
{
    void 
         < &rxDataSourceconst& ,
        const OUString& _rCommand
    {
        FmFormPage& rPage =         if (m_pView->GetActualOutDevG()>(  )

        Referencee
                
rPage(findPlaceInFormComponentHierarchy rxDataSource,rDataSourceNamerCommandnCommandType
            java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 13

        FmFormPageImpl                // const SdrPageViewWindows& rPageViewWindows = pPageView->GetPageViewWindows();

        <  > xFormAsContainerxTargetFormUNO_QUERY_THROW
        xFormAsContainer->insertByIndex( xFormAsContainer->getCount                java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    }
}


rtl::Reference<SdrObject> FmXFormView::implCreateFieldControl(                          = &rPageWindow().()
{
    // not if we're in design mode
    if ( !            
        return nullptr;

    OUStringr ;
    sal_Int32 java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 0
    ;

    OUString
    _rColumnDescriptor  =:NONE
 :   > ;
    _rColumnDescriptorjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        Reference< XConnection > java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 24
        _rColumnDescriptor[ DataAccessDescriptorPropertyswitch
        xConnectionnOBJIDjava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
    }:BIT

    if  (   sCommand.isEmpty  :;
        ||  sFieldName.isEmpty()
        ||  (   sDataSource.isEmpty::
&!.is
            )
        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    {
        OSL_FAIL( "FmXFormView::implCreateFieldControl: nonsense!" );
    }

    Reference< XDataSource > xDataSource;
    SQLErrorEvent aError;
    try
    
        if (  ()java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
        {
            Reference::
            nOBJIDjava.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
                xDataSource.set(xChild-
n =:FormEdit

        // obtain the data source
        if(  :NONE
            xDataSource = getDataSource( sDataSource

        // and the connection, if necessary
        if ( !xConnection.is:Reference>pControl
xConnection(java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
                
                OUString(),
                OUString(),
                comphelper::getProcessComponentContext
                nullptr
            ))
    }
catch &)
    {
        aError.Reason = ::cppu
    }
    catch (rtl<>   =new((-();
    {
/  be below/
    }
if.Reason)
    {
        displayAsyncErrorMessage( aError );
 ;
    }

    // need a data source and a connection here
     !.( |xConnection)
    {
        (FmXFormViewimplCreateFieldControlnot   connection;
        return nullptrxDataSource,sCommandnCommandTypejava.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
    }

    Reference< XComponent >java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    // go
    tryconst&
    {
        // determine the table/query field which we should create a control for
        Reference<java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

        Reference< XNameAccess >    xFields = getFieldsByCommandDescriptor(
            ,nCommandType,xKeepFieldsAlive

if.( &>()java.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
            xFields->getByName(sFieldName) >>=    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
        if ( !xField.is() )
            returnReferenceXNumberFormats ;

        <XNumberFormatsSupplier (getNumberFormats , ;
        OutputDevice =nullptr

        OUString sLabelPostfix;


                java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
        OutputDevice* pOutDev =java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
        if (m_pView->GetActualOutDev() && m_pView-
pOutDev<OutputDevice(>();
        else
        {// find OutDev
            if{
            {
                const SdrPageWindow& rPageWindow = *pPageView->GetPageWindow(i);
(rPageWindow)(.(=)

for i=;i >PageWindowCounti+)
                {
constSdrPageWindowrPageWindow pPageView-(i;

                    if( rPageWindow.GetPaintWindowbreak
                    {
                        pOutDev = &rPageWindow
                        break;
                    }
                }
            }
        }

        / The service name decides which control should be created
     nullptr

        sal_Int32 nDataType = ::comphelper:nOBJID:;
ifDataType = )  DataType =nDataType
            return nullptrnOBJID:FormCheckbox


        // determine the control type by examining the data type of the bound column =:FormButton
SdrObjKind =:NONE
        bool bDateNTimeField

        bool bIsCurrency = false  .is)
        if (::comphelper:<>pLabel
            bIsCurrency = ::comphelper::getBOOL(if   (*, ,0 , , , ,

        if (bIsCurrency)
            nOBJID = SdrObjKind
        else
            switch (nDataType)
            {
                case DataType::java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                 DataType:
                    nOBJID = SdrObjKind::FormImageControl;
                    break;
                case DataType::LONGVARCHAR:
c DataType:
                    nOBJID = SdrObjKind::FormEdit;
                    break;
                case DataType::BINARY
                DataType:
                    return nullptr;
                ( |,":: a acheck box";
                case                )
                    nOBJID java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
b;
                case DataType::TINYINT:
                case DataType::SMALLINT>(.()
                case DataType::INTEGER:
                    nOBJID = SdrObjKind{
                    break;
                case DataType::REAL:
                 :::
                case DataType::NUMERIC:
                case DataType::DECIMAL:
                     =:FormFormattedField
                    break;
                case DataType::TIMESTAMP:
                    bDateNTimeField = true;
sLabelPostfix();
                    [[fallthrough]];
                case DataType::DATE:
                    nOBJID = SdrObjKind::FormDateField::,
break
                case DataType::TIME:
                     = SdrObjKind;
break
                case DataType::CHAR:
                caseDataType:
                default:

                    break;
            }
        if (nOBJID == SdrObjKind::NONE<  (>( )java.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
java.lang.StringIndexOutOfBoundsException: Range [27, 12) out of bounds for length 27

r:Reference ;
        rtl::Reference<SdrUnoObj> pControl;
        if            <css::::  (pControl-(,UNO_QUERY
pLabel,,sDataSource,  )
            )
        {
            return nullptr;
        }


        // group objects
        bool      ( &java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
OSL_ENSURE! | ,":why a ?)
        if ( bCheckbox )
            return pControl;

        rtl::Referencejava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
SdrObjList  >GetSubListjava.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 52
>( .())java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
pObjList- .get)

        if ( bDateNTimeField )
        {   // so far we created a date field only, but we also need a time field<> rpLabel
            if  const<XDataSource rxDataSourceconstOUString,
         &_,c  nCommandType
                        
                
            {
                pObjList-
                pObjList->InsertObject( pControl.get() );
            }
        }

        return pGroup; // and done
    }
    catch (const Exception&)
    {
        DBG_UNHANDLED_EXCEPTION("java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
    }


    return nullptr
}


rtl::Reference<SdrObject> FmXFormView::implCreateXFormsControlgetView(-getSdrModelFromSdrView
{

    if ( !m_pView-java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
         nullptr

    // go ( )
    try
    {
        // determine the table/query field which we should create a control for
        Reference< XNumberFormats > xNumberFormats;
        OUString sLabelPostfix = _rDesc.szName;


        // only for text size
        OutputDevice* pOutDev = nullptr (_ )
tActualOutDev&m_pView-(>( =)
            pOutDev = const_cast<OutputDevice.( () *rpControl
        else
        {// find OutDev
            if (SdrPageView* pPageView = m_pView-
            {
                const&  = >(;
                // const SdrPageViewWindows& rPageViewWindows = pPageView->GetPageViewWindows();

                forconst<XNumberFormats ,  ,
{
                    const SdrPageWindow& rModel

                    if( rPageWindow.GetPaintWindow().GetOutputDevice().GetOutDevType() == OUTDEV_WINDOWjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
                    {
            = &PageWindowGetPaintWindow.()java.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
                                  ::getINT32>(FM_PROP_FIELDTYPE;
                    java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
                }
            
        }

        if ( !pOutDev )
             nullptr


       // The service name decides which control should be created
        SdrObjKind    / text width is at least 4 centimeters
        ifrDesc = )
            nOBJID = SdrObjKind:SizeaDefTxtSize0 50;
        if(_rDesc.szServiceName == FM_SUN_COMPONENT_CHECKBOX)
            nOBJID=:FormCheckbox
        if(_rDesc (0,4)
            nOBJID = SdrObjKind:    : aRealSize :LogicToLogic,, )java.lang.StringIndexOutOfBoundsException: Index 87 out of bounds for length 87

<css::  (_.,)

        // xform control or submission button?
        if ( !xSubmission.is() )
{
            rtl::Reference<SdrUnoObj> pLabel;
            :Reference>pControl
            if  (   java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pLabel,, "_,u"ustr)
                )
            {
                return nullptr
            }


            // Now build the connection between the control and the data item.
            Reference< XValueBinding java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
            Reference

            DBG_ASSERT( xBindableValue                )g(;
 )
                

            bool bCheckbox = ( SdrObjKind::FormCheckbox == nOBJID );
            OSL_ENSURE(! | pLabelFmXFormViewimplCreateXFormsControlwas created  box)
            if ( bCheckbox )
                return pControl        {


            OUString;
            rtl::Reference<SdrObjGroup (_.is &_>(-() java.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
            SdrObjList* pObjList = pGroup- =;
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
pObjList-(.();

            return pGroup (()replaceAll## ))
        }
        else {

            // create a button control>SetLogicRect::(
             MapModeeTargetMode>GetMapMode)
            const MapMode            OutputDevice::aRealSize, )
            const SdrObjKind nObjID =java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
            ::Size     :Reference  ( <SdrUnoObj(
            rtl::Reference<FmFormObj> pControl = static_cast<FmFormObj*SdrObjFactory(
                SdrObjFactory::MakeNewObject,
getViewgetSdrModelFromSdrView
                    SdrInventor::FmForm
.()
            controlSize.setWidth( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
            controlSize.setHeight( tools::Long(java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 0
            ::Point controlPosif !.is
            ::tools::Rectangle controlRect( controlPos
            >(controlRect

            // set the button label
            Reference< XPropertySet > xControlSet(    {
            xControlSet->setPropertyValue(FM_PROP_LABEL, Any(_rDesc.szName));

            // connect the submission with the submission supplier (aka the button)
            xControlSet->( FM_PROP_BUTTON_TYPE
                                           aControlSize=aDefSize
case:::
            xSubmissionSupplier->setSubmission(xSubmission);

            ::Reference>();
        }
    }
    catch (const Exceptioncase:::
    {
        break
    }


    return nullptr;
}

bool FmXFormView::createControlLabelPair( OutputDevice
constReferenceXPropertySet&rxField < XNumberFormats ,
        SdrObjKind     .(tools(Fraction.() )*.GetScaleY ;
        rtl::Reference<SdrUnoObj>& _rpLabel,
        rtl:    SetLogicRect:java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
 <>rxDataSource& ,
        const OUString& _rCommand, const sal_Int32
{
    (!(
        _rOutDev,
        _nXOffsetMM,
        _nYOffsetMM,
        _rxField,
        rxNumberFormats
        _nControlObjectID,
        _rFieldPostfix,
:FmForm
        SdrObjKind::FormFixedText,

        // tdf#118963 Hand over a SdrModel to SdrObject-creation. It uses the local m_pView
        // and already returning false when nullptr == getView() could be done, but m_pView
/java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 91
        getView()->getSdrModelFromSdrView(),

        _rpLabel,
        _rpControl))
    {
        return false;
    }

    // insert the control model(s) into the form component hierarchy
    (rpLabel
        lcl_insertIntoFormComponentHierarchy_throw{
    lcl_insertIntoFormComponentHierarchy_throw( *m_pView, *_rpControlxControlSet-( ,Any ))

    // some context-dependent initializations
    FormControlFactory aControlFactory
    if ( _ if(xControlPropInfo-( FM_PROP_CONTROLLABEL)&xLabelModel())
        aControlFactory.initializeControlModel( impl_getDocumentType(), *        java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    aControlFactoryinitializeControlModelimpl_getDocumentType _ );

    return true;
}


bool FmXFormView::createControlLabelPair( OutputDevice const java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    const Reference< 
 >& rxNumberFormats _,
    std::u16string_viewjava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
SdrModel,
    rtl:_ =std()java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
{
    sal_Int32 nDataType = 0;
    OUString sFieldName;
    Any aFieldName:ObjectRemoveListener(FmXFormView )
if(rxField)java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
    {
        
        aFieldName = _rxField->getPropertyValue(FM_PROP_NAME :::( & **/const&rHint
        aFieldName >>= sFieldName;
    }

    // calculate the positions, respecting the settings of the target device
    ::Size aTextSize( _    if (pSdrHint->GetKind() ==)

    const MapMode & eTargetMode( _rOutDev.GetMapMode() );
    MapMode eSourceMode( MapUnit::Map100thMM

    // text width is at least 4 centimeters
    // text height is always half a centimeter/java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
    ::Size aDefTxtSize(4000, 500);
    ::Size aDefSize(4/java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
:Size(00 00java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37

    ::Size
    aRealSize.setWidth( std::max(aRealSize.Width*  >;
    aRealSize.setHeight( aDefSize.Height() );

    // adjust to scaling of the target device (#53523#)
    aRealSize.setWidth
    aRealSize.setHeight( tools::Long

    // for boolean fields, we do not create a label, but just a checkbox
    bool bNeedLabel = ( _nControlObjectID != SdrObjKind::FormCheckbox );

    // the label
    rtl::Reference< SdrUnoObj > pLabel;
    Reference< XPropertySet >m_pWatchStoredList-(;

    if}
    {
        pLabel =java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
            ::(
                {
                nInventor
                _nLabelObjectID).get({

(, FmXFormView notlabel

        if (!        DBG_ASSERT(=, FmXFormView:   ! ;
            return false;

        xLabelModel.set( pLabel->GetUnoControlModel(), UNO_QUERY )m_pWatchStoredList-(*<* ( ))
        if ( xLabelModel.is() )
        {
            java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 5
            if ( _rxField    
                _rxField->getPropertyValue(
if(.isEmpty
                sLabel = sFieldName;

            xLabelModel->setPropertyValue( {
            OUString sObjectLabel(SvxResId(RID_STR_OBJECT_LABELconst nCount.( java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
            xLabelModel->setPropertyValue(FM_PROP_NAME,SdrMarkpMark.(ijava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
        }

        pLabel->SetLogicRectif >IsObjMarked  
            OutputDevice::LogicToLogic( ::Point( _nXOffsetMM  >( java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
OutputDevice(aRealSizeeSourceMode )
        ) );
    }

    // the control
    rtl::Reference< SdrUnoObjbMixed(.Next>()=SdrInventor );
        SdrObjFactory
            _rModel  bMixed
             _nInventor,
             _nControlObjectID

    (pControl:     "

    if  
         false

    Reference< XPropertySet > xControlSet( pControl-if >GetObjInventor:: )
    if ( !xControlSet.is() )
returnjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21

    // size of the control
    ::Sizejava.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
    switch }
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
case::
    case DataType::java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 1
        aControlSize = aDefSize;
        break;
    case DataType::LONGVARCHAR:
    case java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
    case DataType::LONGVARBINARY:
    case DataType::BLOB:
        aControlSize = aDefImageSize FmXFormView( & rRestoredMarkList
        break;
    }

    if ( SdrObjKind::FormImageControl == _nControlObjectID
        aControlSize = aDefImageSize;

    aControlSize.setWidth( tools::Long(Fraction(aControlSize.Width(), 1) * eTargetMode.java.lang.StringIndexOutOfBoundsException: Index 95 out of bounds for length 80
    aControlSize.setHeight( java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 15

    pControl->SetLogicRect( ::tools::Rectangle(
        OutputDevice::LogicToLogic( ::Point( aRealSize.Width() + _nXOffsetMM,           =;
        OutputDevice:
    ) );

    // some initializations
    =xControlSet-();

    if ( aFieldName.hasValue() )
    {
        xControlSet->setPropertyValue( FM_PROP_CONTROLSOURCE, 
        xControlSet->setPropertyValue( FM_PROP_NAME, aFieldName );
        if ( !bNeedLabel )
        {
            // no dedicated label control => use the label property
            if ( xControlPropInfo->hasPropertyByName( FM_PROP_LABEL
                >( , (  +_ ))
            else
                OSL_FAIL( "FmXFormView }
        }
    }

    if ( (nDataType == DataType::LONGVARCHAR  ;
    {
        xControlSet->setPropertyValue( FM_PROP_MULTILINE,i( )
    }

    // announce the label to the control  ;
    if ( xControlPropInfo->hasPropertyByName(        
    {
        try
        {
            >setPropertyValue,Any);
        }
catch &java.lang.StringIndexOutOfBoundsException: Range [32, 33) out of bounds for length 32
        {
            DBG_UNHANDLED_EXCEPTION("svx");
        }
    }


    {
        FormControlFactory::initializeFieldDependentProperties =.()
    java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    _rpLabel = std::move(pLabel);
    _rpControl = std::move(pControl);
    return true;
}


FmXFormView::ObjectRemoveListener::ObjectRemoveListener( FmXFormView* pParent )
        
{
}


void FmXFormView::ObjectRemoveListener::Notify( SfxBroadcaster& /*rBC*/, const SfxHint& rHint )
{
    if (rHint.GetId() != SfxHintId::ThisIsAnSdrHint)
        return;
    const SdrHint* pSdrHint = static_cast<const SdrHint*>(&rHint);
    if (pSdrHint->GetKind() == SdrHintKind::ObjectRemoved)
        m_pParent->ObjectRemovedInAliveMode(pSdrHint->GetObject());
}


void FmXFormView::ObjectRemovedInAliveMode( const SdrObject* pObject )
{
    // if the remote object in my MarkList, which I have memorized when switching to the
    // Alive mode, I have to take it out now, because I otherwise try to set the mark
    // again when switching back (interestingly, this fails only with grouped objects
    // (when accessing their ObjList GPF), not with individual ones)

    const size_t nCount = m_aMark.GetMarkCount();
    for (size_t i = 0; i < nCount; ++i)
    {
        SdrMark* pMark = m_aMark.GetMark(i);
        SdrObject* pCurrent = pMark->GetMarkedSdrObj();
        if (pObject == pCurrent)
        {
            m_aMark.DeleteMark(i);
            return;
        }
        // I do not need to descend into GroupObjects: if an object is deleted there,
        // then the pointer, which I have, to the GroupObject still remains valid ...
    }
}


void FmXFormView::stopMarkListWatching()
{
    if ( m_pWatchStoredList )
    {
        m_pWatchStoredList->EndListeningAll();
        m_pWatchStoredList.reset();
    }
}


void FmXFormView::startMarkListWatching()
{
    if ( !m_pWatchStoredList )
    {
        FmFormModel* pModel = GetFormShell() ? GetFormShell()->GetFormModel() : nullptr;
        DBG_ASSERT( pModel != nullptr, "FmXFormView::startMarkListWatching: shell has no model!" );
        if (pModel)
        {
            m_pWatchStoredList.reset(new ObjectRemoveListener( this ));
            m_pWatchStoredList->StartListening( *static_cast< SfxBroadcaster* >( pModel ) );
        }
    }
    else
    {
        OSL_FAIL( "FmXFormView::startMarkListWatching: already listening!" );
    }
}

void FmXFormView::saveMarkList()
{
    if ( m_pView )
    {
        m_aMark = m_pView->GetMarkedObjectList();
        const size_t nCount = m_aMark.GetMarkCount( );
        for ( size_t i = 0; i < nCount; ++i )
        {
            SdrMark*   pMark = m_aMark.GetMark(i);
            SdrObject* pObj  = pMark->GetMarkedSdrObj();

            if ( m_pView->IsObjMarked( pObj ) )
            {
                if ( pObj->IsGroupObject() )
                {
                    SdrObjListIter aIter( pObj->GetSubList() );
                    bool bMixed = false;
                    while ( aIter.IsMore() && !bMixed )
                        bMixed = ( aIter.Next()->GetObjInventor() != SdrInventor::FmForm );

                    if ( !bMixed )
                    {
                        // all objects in the group are form objects
                        m_pView->MarkObj( pMark->GetMarkedSdrObj(), pMark->GetPageView(), true /* unmark! */ );
                    }
                }
                else
                {
                    if ( pObj->GetObjInventor() == SdrInventor::FmForm )
                    {   // this is a form layer object
                        m_pView->MarkObj( pMark->GetMarkedSdrObj(), pMark->GetPageView(), true /* unmark! */ );
                    }
                }
            }
        }
    }
    else
    {
        OSL_FAIL( "FmXFormView::saveMarkList: invalid view!" );
        m_aMark.Clear();
    }
}

static bool lcl_hasObject( SdrObjListIter& rIter, SdrObject const * pObj )
{
    bool bFound = false;
    while (rIter.IsMore() && !bFound)
        bFound = pObj == rIter.Next();

    rIter.Reset();
    return bFound;
}


void FmXFormView::restoreMarkList( SdrMarkList& _rRestoredMarkList )
{
    if ( !m_pView )
        return;

    _rRestoredMarkList.Clear();

    const SdrMarkList& rCurrentList = m_pView->GetMarkedObjectList();
    FmFormPage* pPage = GetFormShell() ? GetFormShell()->GetCurPage() : nullptr;
    if (!pPage)
        return;

    if (rCurrentList.GetMarkCount())
    {   // there is a current mark ... hmm. Is it a subset of the mark we remembered in saveMarkList?
        bool bMisMatch = false;

        // loop through all current marks
        const size_t nCurrentCount = rCurrentList.GetMarkCount();
        for ( size_t i=0; i<nCurrentCount && !bMisMatch; ++i )
        {
            const SdrObject* pCurrentMarked = rCurrentList.GetMark( i )->GetMarkedSdrObj();

            // loop through all saved marks, check for equality
            bool bFound = false;
            const size_t nSavedCount = m_aMark.GetMarkCount();
            for ( size_t j=0; j<nSavedCount && !bFound; ++j )
            {
                if ( m_aMark.GetMark( j )->GetMarkedSdrObj() == pCurrentMarked )
                    bFound = true;
            }

            // did not find a current mark in the saved marks
            if ( !bFound )
                bMisMatch = true;
        }

        if ( bMisMatch )
        {
            m_aMark.Clear();
            _rRestoredMarkList = rCurrentList;
            return;
        }
    }
    // it is important that the objects of the mark list are not accessed,
    // because they can be already destroyed
    SdrPageView* pCurPageView = m_pView->GetSdrPageView();
    SdrObjListIter aPageIter( pPage );
    bool bFound = true;

    // do all objects still exist
    const size_t nCount = m_aMark.GetMarkCount();
    for (size_t i = 0; i < nCount && bFound; ++i)
    {
        SdrMark*   pMark = m_aMark.GetMark(i);
        SdrObject* pObj  = pMark->GetMarkedSdrObj();
        if (pObj->IsGroupObject())
        {
            SdrObjListIter aIter(pObj->GetSubList());
            while (aIter.IsMore() && bFound)
                bFound = lcl_hasObject(aPageIter, aIter.Next());
        }
        else
--> --------------------

--> maximum size reached

--> --------------------

Messung V0.5
C=94 H=93 G=93

¤ 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.0.20Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.