20#include <com/sun/star/form/FormSubmitEncoding.hpp>
21#include <com/sun/star/form/FormSubmitMethod.hpp>
22#include <com/sun/star/form/FormButtonType.hpp>
23#include <com/sun/star/frame/XModel.hpp>
24#include <com/sun/star/script/XEventAttacherManager.hpp>
25#include <com/sun/star/drawing/XDrawPageSupplier.hpp>
26#include <com/sun/star/form/XFormsSupplier.hpp>
27#include <com/sun/star/form/XForm.hpp>
28#include <com/sun/star/form/FormComponentType.hpp>
29#include <com/sun/star/awt/XTextLayoutConstrains.hpp>
30#include <com/sun/star/beans/XPropertySet.hpp>
33#include <rtl/math.hxx>
50#include <osl/diagnose.h>
82 const uno::Reference< form::XFormComponent >& rFormComp,
85 uno::Reference< uno::XInterface > xParentIfc = rFormComp->getParent();
86 OSL_ENSURE( xParentIfc.is(),
"lcl_html_outEvents: no parent interface" );
87 if( !xParentIfc.is() )
89 uno::Reference< container::XIndexAccess > xIndexAcc( xParentIfc, uno::UNO_QUERY );
90 uno::Reference< script::XEventAttacherManager > xEventManager( xParentIfc,
92 if( !xIndexAcc.is() || !xEventManager.is() )
96 sal_Int32
nCount = xIndexAcc->getCount(),
nPos;
100 if(
auto x1 =
o3tl::tryAccess<uno::Reference<form::XFormComponent>>(aTmp) )
103 if( rFormComp == *x1 )
106 else if(
auto x2 =
o3tl::tryAccess<uno::Reference<form::XForm>>(aTmp) )
108 if( rFormComp == *x2 )
113 OSL_ENSURE(
false,
"lcl_html_outEvents: wrong reflection" );
120 const uno::Sequence< script::ScriptEventDescriptor > aDescs =
121 xEventManager->getScriptEvents(
nPos );
122 if( !aDescs.hasElements() )
125 for(
const script::ScriptEventDescriptor& rDesc : aDescs )
133 if(
JAVASCRIPT != eScriptType && !bCfgStarBasic )
136 OUString sListener( rDesc.ListenerType );
137 if (!sListener.isEmpty())
139 const sal_Int32 nIdx { sListener.lastIndexOf(
'.')+1 };
142 if (nIdx<sListener.getLength())
144 sListener = sListener.copy(nIdx);
152 OUString sMethod( rDesc.EventMethod );
154 const char *pOpt =
nullptr;
168 rDesc.AddListenerParam.isEmpty()) )
181 !rDesc.AddListenerParam.isEmpty() )
199 case form::FormComponentType::TEXTFIELD:
200 case form::FormComponentType::COMMANDBUTTON:
201 case form::FormComponentType::RADIOBUTTON:
202 case form::FormComponentType::CHECKBOX:
203 case form::FormComponentType::LISTBOX:
204 case form::FormComponentType::IMAGEBUTTON:
205 case form::FormComponentType::FILECONTROL:
242 uno::Reference< container::XIndexContainer > xNewFormComps;
265 uno::Reference< container::XIndexContainer > xCurrentFormComps;
267 sal_Int32 nCurrentCtrls = 0;
275 if( xCurrentFormComps.is() )
281 if( pCurrentStNd!=pCntrlStNd )
285 xNewFormComps = xCurrentFormComps;
295 pCurrentStNd = pCntrlStNd;
304 pCurrentStNd = pCntrlStNd;
308 if( !xNewFormComps.is() && xCurrentFormComps.is() &&
309 nCurrentCtrls != xCurrentFormComps->getCount() )
313 xNewFormComps = xCurrentFormComps;
317 if( !(xNewFormComps.is() &&
334 uno::Reference< beans::XPropertySet > xTmp;
349 uno::Reference< drawing::XDrawPageSupplier > xDPSupp( pDocSh->
GetBaseModel(),
351 OSL_ENSURE( xDPSupp.is(),
"XTextDocument not received from XModel" );
352 uno::Reference< drawing::XDrawPage > xDrawPage = xDPSupp->getDrawPage();
354 OSL_ENSURE( xDrawPage.is(),
"XDrawPage not received" );
355 if( !xDrawPage.is() )
358 uno::Reference< form::XFormsSupplier > xFormsSupplier( xDrawPage, uno::UNO_QUERY );
359 OSL_ENSURE( xFormsSupplier.is(),
360 "XFormsSupplier not received from XDrawPage" );
362 uno::Reference< container::XNameContainer > xTmp = xFormsSupplier->getForms();
363 OSL_ENSURE( xTmp.is(),
"XForms not received" );
364 uno::Reference< container::XIndexContainer > xForms( xTmp, uno::UNO_QUERY );
365 OSL_ENSURE( xForms.is(),
"XForms without container::XIndexContainer?" );
367 sal_Int32
nCount = xForms->getCount();
375 OSL_ENSURE(
false,
"OutHiddenForms: wrong reflection" );
382 uno::Reference< container::XIndexContainer > xFormComps( rForm, uno::UNO_QUERY );
383 if( !xFormComps.is() )
386 sal_Int32
nCount = xFormComps->getCount();
387 bool bHiddenOnly =
nCount > 0, bHidden =
false;
390 uno::Any aTmp = xFormComps->getByIndex(
i );
391 auto xFormComp = o3tl::tryAccess<uno::Reference<form::XFormComponent>>(
393 OSL_ENSURE( xFormComp,
"OutHiddenForm: wrong reflection" );
397 uno::Reference< form::XForm > xForm( *xFormComp, uno::UNO_QUERY );
403 uno::Reference< beans::XPropertySet > xPropSet( *xFormComp, uno::UNO_QUERY );
404 OUString sPropName(
"ClassId");
405 if( xPropSet->getPropertySetInfo()->hasPropertyByName( sPropName ) )
407 uno::Any aAny2 = xPropSet->getPropertyValue( sPropName );
410 if( form::FormComponentType::HIDDENCONTROL == *
n )
419 if( bHidden && bHiddenOnly )
422 uno::Reference< beans::XPropertySet > xTmp;
429 const uno::Reference< container::XIndexContainer > & rFormComps )
449 uno::Reference< beans::XPropertySet > xFormPropSet( rFormComps, uno::UNO_QUERY );
451 uno::Any aTmp = xFormPropSet->getPropertyValue(
"Name" );
452 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
463 aTmp = xFormPropSet->getPropertyValue(
"TargetURL" );
464 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
477 aTmp = xFormPropSet->getPropertyValue(
"SubmitMethod" );
478 if(
auto eMethod = o3tl::tryAccess<form::FormSubmitMethod>(aTmp) )
480 if( form::FormSubmitMethod_POST==*eMethod )
486 aTmp = xFormPropSet->getPropertyValue(
"SubmitEncoding" );
487 if(
auto eEncType = o3tl::tryAccess<form::FormSubmitEncoding>(aTmp) )
489 const char *pStr =
nullptr;
492 case form::FormSubmitEncoding_MULTIPART:
495 case form::FormSubmitEncoding_TEXT:
504 sOut += OString::Concat(
" " OOO_STRING_SVTOOLS_HTML_O_enctype
"=\"") +
509 aTmp = xFormPropSet->getPropertyValue(
"TargetFrame" );
510 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
522 uno::Reference< form::XFormComponent > xFormComp( rFormComps, uno::UNO_QUERY );
531 const uno::Reference< container::XIndexContainer > & rFormComps,
532 const uno::Reference< beans::XPropertySet > & rPropSet )
534 sal_Int32
nCount = rFormComps->getCount();
540 uno::Reference< form::XFormComponent > xFC( rPropSet, uno::UNO_QUERY );
544 auto x = o3tl::tryAccess<uno::Reference<form::XFormComponent>>(aTmp);
546 "OutHiddenControls: wrong reflection" );
547 bDone =
x && *
x == xFC;
554 auto xFC = o3tl::tryAccess<uno::Reference<form::XFormComponent>>(aTmp);
556 "OutHiddenControls: wrong reflection" );
559 uno::Reference< beans::XPropertySet > xPropSet( *xFC, uno::UNO_QUERY );
561 OUString sPropName =
"ClassId";
562 if( !xPropSet->getPropertySetInfo()->hasPropertyByName( sPropName ) )
565 aTmp = xPropSet->getPropertyValue( sPropName );
570 if( form::FormComponentType::HIDDENCONTROL == *
n )
578 aTmp = xPropSet->getPropertyValue(
"Name" );
579 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
589 aTmp = xPropSet->getPropertyValue(
"HiddenValue" );
590 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
618 "GetHTMLControl only allow for Draw-Formats" );
626 const uno::Reference< awt::XControlModel >& xControlModel =
629 OSL_ENSURE( xControlModel.is(),
"UNO-Control without model" );
630 if( !xControlModel.is() )
633 uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
635 OUString sPropName(
"ClassId");
636 if( !xPropSet->getPropertySetInfo()->hasPropertyByName( sPropName ) )
639 uno::Any aTmp = xPropSet->getPropertyValue( sPropName );
657 uno::Reference< awt::XControl > xControl;
659 OSL_ENSURE( pDrawView && pVSh->
GetWin(),
"no DrawView or window!" );
660 if ( pDrawView && pVSh->
GetWin() )
662 uno::Reference< awt::XTextLayoutConstrains > xLC( xControl, uno::UNO_QUERY );
663 OSL_ENSURE( xLC.is(),
"no XTextLayoutConstrains" );
667 sal_Int16 nCols=0, nLines=0;
668 xLC->getColumnsAndLines( nCols, nLines );
678 const uno::Reference< awt::XControlModel >& xControlModel =
681 OSL_ENSURE( xControlModel.is(),
"UNO-Control without model" );
682 if( !xControlModel.is() )
685 uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
686 uno::Reference< beans::XPropertySetInfo > xPropSetInfo =
687 xPropSet->getPropertySetInfo();
691 enum Tag { TAG_INPUT, TAG_SELECT, TAG_TEXTAREA, TAG_NONE };
692 static char const *
const TagNames[] = {
695 Tag eTag = TAG_INPUT;
699 static char const *
const TypeNames[] = {
708 bool bEmptyValue =
false;
709 uno::Any aTmp = xPropSet->getPropertyValue(
"ClassId" );
710 sal_Int16 nClassId = *o3tl::doAccess<sal_Int16>(aTmp);
714 case form::FormComponentType::CHECKBOX:
715 case form::FormComponentType::RADIOBUTTON:
716 eType = (form::FormComponentType::CHECKBOX == nClassId
718 aTmp = xPropSet->getPropertyValue(
"DefaultState" );
729 aTmp = xPropSet->getPropertyValue(
"RefValue" );
730 if(
auto rVal = o3tl::tryAccess<OUString>(aTmp) )
733 if( rVal->isEmpty() )
740 case form::FormComponentType::COMMANDBUTTON:
742 form::FormButtonType eButtonType = form::FormButtonType_PUSH;
743 aTmp = xPropSet->getPropertyValue(
"ButtonType" );
744 if(
auto t = o3tl::tryAccess<form::FormButtonType>(aTmp) )
747 switch( eButtonType )
749 case form::FormButtonType_RESET:
752 case form::FormButtonType_SUBMIT:
755 case form::FormButtonType_PUSH:
760 aTmp = xPropSet->getPropertyValue(
"Label" );
761 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
771 case form::FormComponentType::LISTBOX:
775 aTmp = xPropSet->getPropertyValue(
"Dropdown" );
787 OString::number(
static_cast<sal_Int32
>(aSz.
Height())) +
"\"";
790 auto aTmp2 = xPropSet->getPropertyValue(
"MultiSelection" );
802 case form::FormComponentType::TEXTFIELD:
807 bool bMultiLine =
false;
808 OUString sMultiLine(
"MultiLine");
809 if( xPropSetInfo->hasPropertyByName( sMultiLine ) )
811 aTmp = xPropSet->getPropertyValue( sMultiLine );
813 bMultiLine = b && *b;
825 OString::number(
static_cast<sal_Int32
>(aSz.
Height())) +
"\"";
830 OString::number(
static_cast<sal_Int32
>(aSz.
Width())) +
"\"";
833 aTmp = xPropSet->getPropertyValue(
"HScroll" );
836 !*o3tl::forceAccess<bool>(aTmp)) )
838 const char *pWrapStr =
nullptr;
839 auto aTmp2 = xPropSet->getPropertyValue(
"HardLineBreaks" );
850 OUString sEchoChar(
"EchoChar");
851 if( xPropSetInfo->hasPropertyByName( sEchoChar ) )
853 aTmp = xPropSet->getPropertyValue( sEchoChar );
857 eType = TYPE_PASSWORD;
864 OString::number(
static_cast<sal_Int32
>(aSz.
Width())) +
"\"";
867 aTmp = xPropSet->getPropertyValue(
"MaxTextLen" );
873 OString::number(
static_cast<sal_Int32
>(*
n)) +
"\"";
877 if( xPropSetInfo->hasPropertyByName(
"DefaultText" ) )
879 aTmp = xPropSet->getPropertyValue(
"DefaultText" );
880 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
892 case form::FormComponentType::FILECONTROL:
901 OString::number(
static_cast<sal_Int32
>(aSz.
Width())) +
"\"";
908 case form::FormComponentType::IMAGEBUTTON:
918 if( eTag == TAG_NONE )
921 OString sOut = OString::Concat(
"<") + TagNames[eTag];
925 TypeNames[
eType] +
"\"";
928 aTmp = xPropSet->getPropertyValue(
"Name");
929 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
940 aTmp = xPropSet->getPropertyValue(
"Enabled");
949 if( !sValue.isEmpty() || bEmptyValue )
957 sOut +=
" " + sOptions;
961 aTmp = xPropSet->getPropertyValue(
"ImageURL" );
962 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
976 Size aPixelSz( 0, 0 );
989 if( aPixelSz.
Width() )
992 OString::number(
static_cast<sal_Int32
>(aPixelSz.
Width())) +
"\"";
998 OString::number(
static_cast<sal_Int32
>(aPixelSz.
Height())) +
"\"";
1002 aTmp = xPropSet->getPropertyValue(
"TabIndex" );
1005 sal_Int16 nTabIndex = *
n;
1008 if( nTabIndex >= 32767 )
1012 OString::number(
static_cast<sal_Int32
>(nTabIndex)) +
"\"";
1016 if( !sOut.isEmpty() )
1019 OSL_ENSURE( !bInCntnr,
"Container is not supported for Controls" );
1034 bool bEdit = TAG_TEXTAREA == eTag || TYPE_FILE ==
eType ||
1038 if( xPropSetInfo->hasPropertyByName(
"BackgroundColor" ) )
1040 aTmp = xPropSet->getPropertyValue(
"BackgroundColor" );
1047 if( xPropSetInfo->hasPropertyByName(
"TextColor" ) )
1049 aTmp = xPropSet->getPropertyValue(
"TextColor" );
1056 if( xPropSetInfo->hasPropertyByName(
"FontHeight" ) )
1058 aTmp = xPropSet->getPropertyValue(
"FontHeight" );
1062 if( *nHeight > 0 && (!bEdit || !rtl::math::approxEqual(*nHeight, 10.0)) )
1066 if( xPropSetInfo->hasPropertyByName(
"FontName" ) )
1068 aTmp = xPropSet->getPropertyValue(
"FontName" );
1069 if(
auto aFName = o3tl::tryAccess<OUString>(aTmp) )
1071 if( !aFName->isEmpty() )
1075 GetDefaultFontFlags::OnlyOne ) );
1079 if( xPropSetInfo->hasPropertyByName(
"FontFamily" ) )
1081 auto aTmp2 = xPropSet->getPropertyValue(
"FontFamily" );
1086 aItemSet.
Put( aItem );
1091 if( xPropSetInfo->hasPropertyByName(
"FontWeight" ) )
1093 aTmp = xPropSet->getPropertyValue(
"FontWeight" );
1102 if( xPropSetInfo->hasPropertyByName(
"FontSlant" ) )
1104 aTmp = xPropSet->getPropertyValue(
"FontSlant" );
1112 if( xPropSetInfo->hasPropertyByName(
"FontLineStyle" ) )
1114 aTmp = xPropSet->getPropertyValue(
"FontLineStyle" );
1123 if( xPropSetInfo->hasPropertyByName(
"FontStrikeout" ) )
1125 aTmp = xPropSet->getPropertyValue(
"FontStrikeout" );
1139 uno::Reference< form::XFormComponent > xFormComp( xControlModel, uno::UNO_QUERY );
1144 if( TAG_SELECT == eTag )
1146 aTmp = xPropSet->getPropertyValue(
"StringItemList" );
1150 sal_Int32 nCnt = aList->getLength();
1151 const OUString *pStrings = aList->getConstArray();
1153 const OUString *
pValues =
nullptr;
1154 sal_Int32 nValCnt = 0;
1155 auto aTmp2 = xPropSet->getPropertyValue(
"ListSource" );
1156 uno::Sequence<OUString> aValList;
1160 nValCnt = aValList.getLength();
1161 pValues = aValList.getConstArray();
1164 uno::Any aSelTmp = xPropSet->getPropertyValue(
"DefaultSelection" );
1165 const sal_Int16 *pSels =
nullptr;
1167 sal_Int32 nSelCnt = 0;
1168 uno::Sequence<sal_Int16> aSelList;
1172 nSelCnt = aSelList.getLength();
1173 pSels = aSelList.getConstArray();
1176 for( sal_Int32
i = 0;
i < nCnt;
i++ )
1179 bool bSelected =
false, bEmptyVal =
false;
1183 if( rVal ==
"$$$empty$$$" )
1189 bSelected = (nSel < nSelCnt) && pSels[nSel] ==
i;
1195 if( !sVal.isEmpty() || bEmptyVal )
1217 else if( TAG_TEXTAREA == eTag )
1221 aTmp = xPropSet->getPropertyValue(
"DefaultText" );
1222 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
1229 if( !sVal.isEmpty() )
1233 while (
nPos != -1 )
1237 OUString aLine = sVal.getToken( 0, 0x0A,
nPos );
1245 aTmp = xPropSet->getPropertyValue(
"Label");
1246 if(
auto s = o3tl::tryAccess<OUString>(aTmp) )
1255 if( !aEndTags.isEmpty() )
1273 const uno::Reference< awt::XControlModel >& xControlModel =
1275 if( !xControlModel.is() )
1278 uno::Reference< form::XFormComponent > xFormComp( xControlModel, uno::UNO_QUERY );
1279 uno::Reference< uno::XInterface > xIfc = xFormComp->getParent();
1280 uno::Reference< form::XForm > xForm(xIfc, uno::UNO_QUERY);
1282 OSL_ENSURE( xForm.is(),
"Where is the form?" );
1285 uno::Reference< container::XIndexContainer > xFormComps( xForm, uno::UNO_QUERY );
1286 std::unique_ptr<HTMLControl> pHCntrl(
new HTMLControl( xFormComps, nNodeIdx ));
1287 auto itPair = rControls.
insert( std::move(pHCntrl) );
1288 if (!itPair.second )
1290 if( (*itPair.first)->xFormComps==xFormComps )
1291 (*itPair.first)->
nCount++;
1312 OSL_ENSURE( pSdrObj,
"Where is the SdrObject?" );
1328 if ((RndStdIds::FLY_AS_CHAR != rAnchor.
GetAnchorId()) || !pAnchorNode)
1341 uno::Reference< container::XIndexContainer > _xFormComps,
1343 xFormComps(
std::move( _xFormComps )), nNdIdx( nIdx ),
nCount( 1 )
const PropertyValue * pValues
static OutputDevice * GetDefaultDevice()
virtual const SwDrawModel * GetDrawModel() const =0
Draw Model and id accessors.
virtual const SwViewShell * GetCurrentViewShell() const =0
Returns the layout set at the document.
SAL_WARN_UNUSED_RESULT Point LogicToPixel(const Point &rLogicPt) const
static vcl::Font GetDefaultFont(DefaultFontType nType, LanguageType eLang, GetDefaultFontFlags nFlags, const OutputDevice *pOutDev=nullptr)
virtual SdrInventor GetObjInventor() const
virtual const tools::Rectangle & GetLogicRect() const override
const css::uno::Reference< css::awt::XControlModel > & GetUnoControlModel() const
css::uno::Reference< css::awt::XControl > GetUnoControl(const SdrView &_rView, const OutputDevice &_rOut) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
css::uno::Reference< css::frame::XModel3 > GetBaseModel() const
constexpr tools::Long Height() const
void setWidth(tools::Long nWidth)
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
SvStream & WriteOString(std::string_view rStr)
SvStream & WriteChar(char nChar)
IDocumentLayoutAccess const & getIDocumentLayoutAccess() const
const SwAttrPool & GetAttrPool() const
IDocumentDrawModelAccess const & getIDocumentDrawModelAccess() const
const sw::FrameFormats< sw::SpzFrameFormat * > * GetSpzFrameFormats() const
SwDocShell * GetDocShell()
const SwNodeIndex & GetNdIndex() const
const SdrObject * GetSdrObject() const
SwHTMLPosFlyFrames m_aHTMLPosFlyFrames
void OutHiddenControls(const css::uno::Reference< css::container::XIndexContainer > &rFormComps, const css::uno::Reference< css::beans::XPropertySet > &rPropSet)
void OutHiddenForm(const css::uno::Reference< css::form::XForm > &rForm)
css::uno::Reference< css::container::XIndexContainer > mxFormComps
HTMLControls m_aHTMLControls
sal_uInt16 m_nFormCntrlCnt
OString GetNamespace() const
Determines the prefix string needed to respect the requested namespace alias.
OString OutFrameFormatOptions(const SwFrameFormat &rFrameFormat, const OUString &rAltText, HtmlFrmOpts nFrameOpts)
void OutCSS1_FrameFormatOptions(const SwFrameFormat &rFrameFormat, HtmlFrmOpts nFrameOpts, const SdrObject *pSdrObj=nullptr, const SfxItemSet *pItemSet=nullptr)
void OutNewLine(bool bCheck=false)
static const SdrObject * GetHTMLControl(const SwDrawFrameFormat &rFormat)
bool IsHTMLMode(sal_uInt32 nMode) const
void OutForm(bool bTagOn=true, const SwStartNode *pStNd=nullptr)
SwNodeOffset GetIndex() const
Base class of the Writer document model elements.
SwNodeOffset GetIndex() const
SwNodeOffset EndOfSectionIndex() const
Starts a section of nodes in the document model.
vcl::Window * GetWin() const
std::shared_ptr< SwUnoCursor > m_pCurrentPam
const OUString & GetBaseURL() const
std::pair< const_iterator, bool > insert(Value &&x)
const OUString & GetFamilyName() const
::OutputDevice const * GetOutDev() const
#define SAL_NEWLINE_STRING
OUString const aScriptType
constexpr TypedWhichId< SvxCrossedOutItem > RES_CHRATR_CROSSEDOUT(5)
constexpr TypedWhichId< SvxUnderlineItem > RES_CHRATR_UNDERLINE(14)
constexpr TypedWhichId< SvxFontHeightItem > RES_CHRATR_FONTSIZE(8)
constexpr TypedWhichId< SvxWeightItem > RES_CHRATR_WEIGHT(15)
constexpr TypedWhichId< SvxBrushItem > RES_CHRATR_BACKGROUND(21)
constexpr TypedWhichId< SvxPostureItem > RES_CHRATR_POSTURE(11)
constexpr TypedWhichId< SwDrawFrameFormat > RES_DRAWFRMFMT(165)
constexpr TypedWhichId< SvxFontItem > RES_CHRATR_FONT(7)
constexpr TypedWhichId< SvxColorItem > RES_CHRATR_COLOR(3)
SwHTMLWriter & OutHTML_DrawFrameFormatAsControl(SwHTMLWriter &rWrt, const SwDrawFrameFormat &rFormat, const SdrUnoObj &rFormObj, bool bInCntnr)
static void lcl_html_outEvents(SvStream &rStrm, const uno::Reference< form::XFormComponent > &rFormComp, bool bCfgStarBasic)
static void GetControlSize(const SdrUnoObj &rFormObj, Size &rSz, SwDoc *pDoc)
const HtmlFrmOpts HTML_FRMOPTS_CONTROL_CSS1
static bool lcl_html_isHTMLControl(sal_Int16 nClassId)
static void AddControl(HTMLControls &rControls, const SdrUnoObj &rFormObj, SwNodeOffset nNodeIdx)
Find out if a format belongs to a control and if yes return its form.
const HtmlFrmOpts HTML_FRMOPTS_IMG_CONTROL_CSS1
const HtmlFrmOpts HTML_FRMOPTS_CONTROL
const HtmlFrmOpts HTML_FRMOPTS_IMG_CONTROL
#define OOO_STRING_SVTOOLS_HTML_IT_checkbox
#define OOO_STRING_SVTOOLS_HTML_O_height
#define OOO_STRING_SVTOOLS_HTML_O_selected
#define OOO_STRING_SVTOOLS_HTML_IT_password
#define OOO_STRING_SVTOOLS_HTML_O_target
#define OOO_STRING_SVTOOLS_HTML_IT_button
#define OOO_STRING_SVTOOLS_HTML_O_rows
#define OOO_STRING_SVTOOLS_HTML_O_action
#define OOO_STRING_SVTOOLS_HTML_O_value
#define OOO_STRING_SVTOOLS_HTML_IT_reset
#define OOO_STRING_SVTOOLS_HTML_IT_submit
#define OOO_STRING_SVTOOLS_HTML_IT_file
#define OOO_STRING_SVTOOLS_HTML_O_tabindex
#define OOO_STRING_SVTOOLS_HTML_WW_soft
#define OOO_STRING_SVTOOLS_HTML_O_multiple
#define OOO_STRING_SVTOOLS_HTML_IT_image
#define OOO_STRING_SVTOOLS_HTML_O_size
#define OOO_STRING_SVTOOLS_HTML_IT_hidden
#define OOO_STRING_SVTOOLS_HTML_option
#define OOO_STRING_SVTOOLS_HTML_O_disabled
#define OOO_STRING_SVTOOLS_HTML_ET_text
#define OOO_STRING_SVTOOLS_HTML_O_wrap
#define OOO_STRING_SVTOOLS_HTML_O_src
#define OOO_STRING_SVTOOLS_HTML_METHOD_post
#define OOO_STRING_SVTOOLS_HTML_textarea
#define OOO_STRING_SVTOOLS_HTML_O_cols
#define OOO_STRING_SVTOOLS_HTML_O_maxlength
#define OOO_STRING_SVTOOLS_HTML_IT_text
#define OOO_STRING_SVTOOLS_HTML_O_sdaddparam
#define OOO_STRING_SVTOOLS_HTML_form
#define OOO_STRING_SVTOOLS_HTML_O_checked
#define OOO_STRING_SVTOOLS_HTML_O_sdevent
#define OOO_STRING_SVTOOLS_HTML_O_type
#define OOO_STRING_SVTOOLS_HTML_select
#define OOO_STRING_SVTOOLS_HTML_on
#define OOO_STRING_SVTOOLS_HTML_O_name
#define OOO_STRING_SVTOOLS_HTML_IT_radio
#define OOO_STRING_SVTOOLS_HTML_WW_hard
#define OOO_STRING_SVTOOLS_HTML_O_width
#define OOO_STRING_SVTOOLS_HTML_ET_multipart
#define OOO_STRING_SVTOOLS_HTML_O_method
#define OOO_STRING_SVTOOLS_HTML_input
#define LANGUAGE_ENGLISH_US
TOOLS_DLLPUBLIC OString convertLineEnd(const OString &rIn, LineEnd eLineEnd)
constexpr OUStringLiteral SVX_MACRO_LANGUAGE_JAVASCRIPT
constexpr OUStringLiteral SVX_MACRO_LANGUAGE_STARBASIC
SVL_DLLPUBLIC OUString simpleNormalizedMakeRelative(OUString const &baseUriReference, OUString const &uriReference)
const sal_uInt16 TYPE_IMAGE
const sal_uInt16 TYPE_TEXT
detail::Optional< bool >::type tryAccess< bool >(css::uno::Any const &any)
detail::Optional< float >::type tryAccess< float >(css::uno::Any const &any)
detail::Optional< sal_Int32 >::type tryAccess< sal_Int32 >(css::uno::Any const &any)
detail::Optional< sal_Int16 >::type tryAccess< sal_Int16 >(css::uno::Any const &any)
std::enable_if<!(detail::IsDerivedReference< T >::value||detail::IsUnoSequenceType< T >::value||std::is_base_of< css::uno::XInterface, T >::value), typenamedetail::Optional< T >::type >::type tryAccess(css::uno::Any const &any)
OString OUStringToOString(std::u16string_view str, ConnectionSettings const *settings)
VCL_DLLPUBLIC float ConvertFontWeight(FontWeight eWeight)
HTMLControl(css::uno::Reference< css::container::XIndexContainer > xForm, SwNodeOffset nIdx)
static SVT_DLLPUBLIC SvStream & Out_AsciiTag(SvStream &, std::string_view rStr, bool bOn=true)
static SVT_DLLPUBLIC SvStream & Out_String(SvStream &, const OUString &, OUString *pNonConvertableChars=nullptr)
#define HTMLMODE_ABS_POS_DRAW