| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| #include "precompiled_reportdesign.hxx" |
| #include "dlgedfac.hxx" |
| #ifndef REPORTDESIGN_SHARED_UISTRINGS_HRC |
| #include "uistrings.hrc" |
| #endif |
| #include "RptObject.hxx" |
| #include <RptDef.hxx> |
| #include <com/sun/star/container/XNameContainer.hpp> |
| #include <com/sun/star/lang/XServiceInfo.hpp> |
| #include <com/sun/star/beans/PropertyValue.hpp> |
| #include <com/sun/star/beans/XPropertySet.hpp> |
| #include <com/sun/star/awt/ScrollBarOrientation.hpp> |
| #include <svx/svdoole2.hxx> |
| namespace rptui |
| { |
| using namespace ::com::sun::star; |
| |
| //---------------------------------------------------------------------------- |
| |
| DlgEdFactory::DlgEdFactory() |
| { |
| SdrObjFactory::InsertMakeObjectHdl( LINK(this, DlgEdFactory, MakeObject) ); |
| } |
| |
| //---------------------------------------------------------------------------- |
| |
| DlgEdFactory::~DlgEdFactory() |
| { |
| SdrObjFactory::RemoveMakeObjectHdl( LINK(this, DlgEdFactory, MakeObject) ); |
| } |
| |
| //---------------------------------------------------------------------------- |
| |
| IMPL_LINK( DlgEdFactory, MakeObject, SdrObjFactory *, pObjFactory ) |
| { |
| if ( pObjFactory->nInventor == ReportInventor ) |
| { |
| switch( pObjFactory->nIdentifier ) |
| { |
| case OBJ_DLG_FIXEDTEXT: |
| pObjFactory->pNewObj = new OUnoObject( SERVICE_FIXEDTEXT |
| ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.FixedText")) |
| ,OBJ_DLG_FIXEDTEXT); |
| break; |
| case OBJ_DLG_IMAGECONTROL: |
| pObjFactory->pNewObj = new OUnoObject( SERVICE_IMAGECONTROL |
| ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.DatabaseImageControl")) |
| ,OBJ_DLG_IMAGECONTROL); |
| break; |
| case OBJ_DLG_FORMATTEDFIELD: |
| pObjFactory->pNewObj = new OUnoObject( SERVICE_FORMATTEDFIELD |
| ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.form.component.FormattedField")) |
| ,OBJ_DLG_FORMATTEDFIELD); |
| break; |
| case OBJ_DLG_VFIXEDLINE: |
| case OBJ_DLG_HFIXEDLINE: |
| { |
| OUnoObject* pObj = new OUnoObject( SERVICE_FIXEDLINE |
| ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.UnoControlFixedLineModel")) |
| ,pObjFactory->nIdentifier); |
| pObjFactory->pNewObj = pObj; |
| if ( pObjFactory->nIdentifier == OBJ_DLG_HFIXEDLINE ) |
| { |
| uno::Reference<beans::XPropertySet> xProp = pObj->getAwtComponent(); |
| xProp->setPropertyValue( PROPERTY_ORIENTATION, uno::makeAny(sal_Int32(0)) ); |
| } |
| } |
| break; |
| case OBJ_CUSTOMSHAPE: |
| pObjFactory->pNewObj = new OCustomShape(SERVICE_SHAPE); |
| break; |
| case OBJ_DLG_SUBREPORT: |
| pObjFactory->pNewObj = new OOle2Obj(SERVICE_REPORTDEFINITION,OBJ_DLG_SUBREPORT); |
| break; |
| case OBJ_OLE2: |
| pObjFactory->pNewObj = new OOle2Obj(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.chart2.ChartDocument")),OBJ_OLE2); |
| break; |
| default: |
| OSL_ENSURE(0,"Unknown object id"); |
| break; |
| } |
| } |
| |
| return 0; |
| } |
| //---------------------------------------------------------------------------- |
| } |