34#include <com/sun/star/beans/PropertyAttribute.hpp>
35#include <com/sun/star/formula/SymbolDescriptor.hpp>
36#include <com/sun/star/awt/Size.hpp>
48#include <unomodel.hxx>
49#include <document.hxx>
52#include <starmath.hrc>
57using namespace ::
cppu;
71 SAL_WARN_IF( !pConfig,
"starmath",
"SmConfig not found" );
75 sal_Int32 nNumProps = 10, nIdx=0;
83 m_aUIProperties[nIdx++].Value <<= OUString(
"modules/smath/ui/printeroptions.ui");
87 OUString aAppGroupname(
88 SmResId( RID_PRINTUIOPT_PRODNAME ).
97 ".HelpID:vcl:PrintDialog:TitleRow:CheckBox",
102 ".HelpID:vcl:PrintDialog:FormulaText:CheckBox",
107 ".HelpID:vcl:PrintDialog:Border:CheckBox",
115 Sequence< OUString > aChoices{
116 SmResId( RID_PRINTUIOPT_ORIGSIZE ),
117 SmResId( RID_PRINTUIOPT_FITTOPAGE ),
118 SmResId( RID_PRINTUIOPT_SCALING )
120 Sequence< OUString > aHelpIds{
121 ".HelpID:vcl:PrintDialog:PrintFormat:RadioButton:0",
122 ".HelpID:vcl:PrintDialog:PrintFormat:RadioButton:1",
123 ".HelpID:vcl:PrintDialog:PrintFormat:RadioButton:2"
125 Sequence< OUString > aWidgetIds{
134 aChoices,
static_cast< sal_Int32
>(pConfig->
GetPrintSize())
140 ".HelpID:vcl:PrintDialog:PrintScale:NumericField",
150 assert(nIdx == nNumProps);
157enum SmModelPropertyHandles
160 HANDLE_FONT_NAME_VARIABLES,
161 HANDLE_FONT_NAME_FUNCTIONS,
162 HANDLE_FONT_NAME_NUMBERS,
163 HANDLE_FONT_NAME_TEXT,
164 HANDLE_CUSTOM_FONT_NAME_SERIF,
165 HANDLE_CUSTOM_FONT_NAME_SANS,
166 HANDLE_CUSTOM_FONT_NAME_FIXED,
167 HANDLE_CUSTOM_FONT_FIXED_POSTURE,
168 HANDLE_CUSTOM_FONT_FIXED_WEIGHT,
169 HANDLE_CUSTOM_FONT_SANS_POSTURE,
170 HANDLE_CUSTOM_FONT_SANS_WEIGHT,
171 HANDLE_CUSTOM_FONT_SERIF_POSTURE,
172 HANDLE_CUSTOM_FONT_SERIF_WEIGHT,
173 HANDLE_FONT_VARIABLES_POSTURE,
174 HANDLE_FONT_VARIABLES_WEIGHT,
175 HANDLE_FONT_FUNCTIONS_POSTURE,
176 HANDLE_FONT_FUNCTIONS_WEIGHT,
177 HANDLE_FONT_NUMBERS_POSTURE,
178 HANDLE_FONT_NUMBERS_WEIGHT,
179 HANDLE_FONT_TEXT_POSTURE,
180 HANDLE_FONT_TEXT_WEIGHT,
181 HANDLE_BASE_FONT_HEIGHT,
182 HANDLE_RELATIVE_FONT_HEIGHT_TEXT,
183 HANDLE_RELATIVE_FONT_HEIGHT_INDICES,
184 HANDLE_RELATIVE_FONT_HEIGHT_FUNCTIONS,
185 HANDLE_RELATIVE_FONT_HEIGHT_OPERATORS,
186 HANDLE_RELATIVE_FONT_HEIGHT_LIMITS,
188 HANDLE_GREEK_CHAR_STYLE,
190 HANDLE_RELATIVE_SPACING,
191 HANDLE_RELATIVE_LINE_SPACING,
192 HANDLE_RELATIVE_ROOT_SPACING,
193 HANDLE_RELATIVE_INDEX_SUPERSCRIPT,
194 HANDLE_RELATIVE_INDEX_SUBSCRIPT,
195 HANDLE_RELATIVE_FRACTION_NUMERATOR_HEIGHT,
196 HANDLE_RELATIVE_FRACTION_DENOMINATOR_DEPTH,
197 HANDLE_RELATIVE_FRACTION_BAR_EXCESS_LENGTH,
198 HANDLE_RELATIVE_FRACTION_BAR_LINE_WEIGHT,
199 HANDLE_RELATIVE_UPPER_LIMIT_DISTANCE,
200 HANDLE_RELATIVE_LOWER_LIMIT_DISTANCE,
201 HANDLE_RELATIVE_BRACKET_EXCESS_SIZE,
202 HANDLE_RELATIVE_BRACKET_DISTANCE,
203 HANDLE_IS_SCALE_ALL_BRACKETS,
204 HANDLE_RELATIVE_SCALE_BRACKET_EXCESS_SIZE,
205 HANDLE_RELATIVE_MATRIX_LINE_SPACING,
206 HANDLE_RELATIVE_MATRIX_COLUMN_SPACING,
207 HANDLE_RELATIVE_SYMBOL_PRIMARY_HEIGHT,
208 HANDLE_RELATIVE_SYMBOL_MINIMUM_HEIGHT,
209 HANDLE_RELATIVE_OPERATOR_EXCESS_SIZE,
210 HANDLE_RELATIVE_OPERATOR_SPACING,
214 HANDLE_BOTTOM_MARGIN,
216 HANDLE_PRINTER_SETUP,
218 HANDLE_SAVE_THUMBNAIL,
220 HANDLE_BASIC_LIBRARIES,
222 HANDLE_LOAD_READONLY,
223 HANDLE_DIALOG_LIBRARIES,
225 HANDLE_INTEROP_GRAB_BAG,
226 HANDLE_STARMATH_VERSION
322 uno::Any aRet = ::cppu::queryInterface ( rType,
325 static_cast< XMultiPropertySet*
> (
this ),
327 static_cast< XServiceInfo*
> (
this ),
328 static_cast< XRenderable*
> (
this ) );
336 OWeakObject::acquire();
341 OWeakObject::release();
357 return theSmModelUnoTunnelId.
getSeq();
370 nRet =
static_cast<sal_Int16
>(*x);
378 return "com.sun.star.comp.Math.FormulaDocument";
388 static constexpr OUStringLiteral service1 =
u"com.sun.star.document.OfficeDocument";
389 static constexpr OUStringLiteral service2 =
u"com.sun.star.formula.FormulaProperties";
390 return uno::Sequence<OUString>{ service1, service2 };
399 if (
nullptr == pDocSh )
400 throw UnknownPropertyException();
404 for (; *ppEntries; ppEntries++,
pValues++ )
406 if ((*ppEntries)->mnAttributes & PropertyAttribute::READONLY)
407 throw PropertyVetoException();
409 switch ( (*ppEntries)->mnHandle )
418 case HANDLE_FONT_NAME_VARIABLES :
419 case HANDLE_FONT_NAME_FUNCTIONS :
420 case HANDLE_FONT_NAME_NUMBERS :
421 case HANDLE_FONT_NAME_TEXT :
422 case HANDLE_CUSTOM_FONT_NAME_SERIF :
423 case HANDLE_CUSTOM_FONT_NAME_SANS :
424 case HANDLE_CUSTOM_FONT_NAME_FIXED :
428 if(sFontName.isEmpty())
429 throw IllegalArgumentException();
433 const SmFace rOld = aFormat.
GetFont((*ppEntries)->mnMemberId);
438 aFormat.
SetFont( (*ppEntries)->mnMemberId, aSet );
442 case HANDLE_CUSTOM_FONT_FIXED_POSTURE:
443 case HANDLE_CUSTOM_FONT_SANS_POSTURE :
444 case HANDLE_CUSTOM_FONT_SERIF_POSTURE:
445 case HANDLE_FONT_VARIABLES_POSTURE :
446 case HANDLE_FONT_FUNCTIONS_POSTURE :
447 case HANDLE_FONT_NUMBERS_POSTURE :
448 case HANDLE_FONT_TEXT_POSTURE :
452 throw IllegalArgumentException();
455 aFormat.
SetFont((*ppEntries)->mnMemberId, aNewFont);
458 case HANDLE_CUSTOM_FONT_FIXED_WEIGHT :
459 case HANDLE_CUSTOM_FONT_SANS_WEIGHT :
460 case HANDLE_CUSTOM_FONT_SERIF_WEIGHT :
461 case HANDLE_FONT_VARIABLES_WEIGHT :
462 case HANDLE_FONT_FUNCTIONS_WEIGHT :
463 case HANDLE_FONT_NUMBERS_WEIGHT :
464 case HANDLE_FONT_TEXT_WEIGHT :
468 throw IllegalArgumentException();
471 aFormat.
SetFont((*ppEntries)->mnMemberId, aNewFont);
474 case HANDLE_BASE_FONT_HEIGHT :
479 throw IllegalArgumentException();
490 case HANDLE_RELATIVE_FONT_HEIGHT_TEXT :
491 case HANDLE_RELATIVE_FONT_HEIGHT_INDICES :
492 case HANDLE_RELATIVE_FONT_HEIGHT_FUNCTIONS :
493 case HANDLE_RELATIVE_FONT_HEIGHT_OPERATORS :
494 case HANDLE_RELATIVE_FONT_HEIGHT_LIMITS :
499 throw IllegalArgumentException();
500 aFormat.
SetRelSize((*ppEntries)->mnMemberId, nVal);
504 case HANDLE_IS_TEXT_MODE :
510 case HANDLE_GREEK_CHAR_STYLE :
514 if (nVal < 0 || nVal > 2)
515 throw IllegalArgumentException();
520 case HANDLE_ALIGNMENT :
525 if(nVal < 0 || nVal > 2)
526 throw IllegalArgumentException();
531 case HANDLE_RELATIVE_SPACING :
532 case HANDLE_RELATIVE_LINE_SPACING :
533 case HANDLE_RELATIVE_ROOT_SPACING :
534 case HANDLE_RELATIVE_INDEX_SUPERSCRIPT :
535 case HANDLE_RELATIVE_INDEX_SUBSCRIPT :
536 case HANDLE_RELATIVE_FRACTION_NUMERATOR_HEIGHT :
537 case HANDLE_RELATIVE_FRACTION_DENOMINATOR_DEPTH:
538 case HANDLE_RELATIVE_FRACTION_BAR_EXCESS_LENGTH:
539 case HANDLE_RELATIVE_FRACTION_BAR_LINE_WEIGHT :
540 case HANDLE_RELATIVE_UPPER_LIMIT_DISTANCE :
541 case HANDLE_RELATIVE_LOWER_LIMIT_DISTANCE :
542 case HANDLE_RELATIVE_BRACKET_EXCESS_SIZE :
543 case HANDLE_RELATIVE_BRACKET_DISTANCE :
544 case HANDLE_RELATIVE_SCALE_BRACKET_EXCESS_SIZE :
545 case HANDLE_RELATIVE_MATRIX_LINE_SPACING :
546 case HANDLE_RELATIVE_MATRIX_COLUMN_SPACING :
547 case HANDLE_RELATIVE_SYMBOL_PRIMARY_HEIGHT :
548 case HANDLE_RELATIVE_SYMBOL_MINIMUM_HEIGHT :
549 case HANDLE_RELATIVE_OPERATOR_EXCESS_SIZE :
550 case HANDLE_RELATIVE_OPERATOR_SPACING :
551 case HANDLE_LEFT_MARGIN :
552 case HANDLE_RIGHT_MARGIN :
553 case HANDLE_TOP_MARGIN :
554 case HANDLE_BOTTOM_MARGIN :
559 throw IllegalArgumentException();
560 aFormat.
SetDistance((*ppEntries)->mnMemberId, nVal);
563 case HANDLE_IS_SCALE_ALL_BRACKETS :
566 case HANDLE_PRINTER_NAME:
569 if ( pDocSh->
GetCreateMode() != SfxObjectCreateMode::EMBEDDED )
574 OUString sPrinterName;
575 if ( !(*
pValues >>= sPrinterName) )
576 throw IllegalArgumentException();
578 if ( !sPrinterName.isEmpty() )
581 if (pNewPrinter->IsKnown())
590 case HANDLE_PRINTER_SETUP:
592 Sequence < sal_Int8 > aSequence;
593 if ( !(*
pValues >>= aSequence) )
594 throw IllegalArgumentException();
596 sal_uInt32 nSize = aSequence.getLength();
597 SvMemoryStream aStream ( aSequence.getArray(), nSize, StreamMode::READ );
600 SID_PRINTTITLE, SID_PRINTTITLE,
601 SID_PRINTTEXT, SID_PRINTTEXT,
602 SID_PRINTFRAME, SID_PRINTFRAME,
603 SID_PRINTSIZE, SID_PRINTSIZE,
604 SID_PRINTZOOM, SID_PRINTZOOM,
605 SID_NO_RIGHT_SPACES, SID_NO_RIGHT_SPACES,
606 SID_SAVE_ONLY_USED_SYMBOLS, SID_SAVE_ONLY_USED_SYMBOLS,
609 pp->GetConfig()->ConfigToItemSet(*pItemSet);
618 Sequence < SymbolDescriptor > aSequence;
619 if ( !(*
pValues >>= aSequence) )
620 throw IllegalArgumentException();
624 for (
const SymbolDescriptor& rDescriptor : std::as_const(aSequence))
628 aFont.
SetCharSet (
static_cast < rtl_TextEncoding
> (rDescriptor.nCharSet) );
633 SmSym aSymbol ( rDescriptor.sName, aFont,
static_cast < sal_Unicode > (rDescriptor.nCharacter),
634 rDescriptor.sSymbolSet );
641 case HANDLE_LOAD_READONLY :
644 throw IllegalArgumentException();
645 bool bReadonly =
false;
650 case HANDLE_INTEROP_GRAB_BAG:
653 case HANDLE_SAVE_THUMBNAIL:
656 throw IllegalArgumentException();
657 bool bThumbnail =
false;
662 case HANDLE_STARMATH_VERSION:
679 if (
nullptr == pDocSh )
680 throw UnknownPropertyException();
684 for (; *ppEntries; ppEntries++, pValue++ )
686 switch ( (*ppEntries)->mnHandle )
691 case HANDLE_FONT_NAME_VARIABLES :
692 case HANDLE_FONT_NAME_FUNCTIONS :
693 case HANDLE_FONT_NAME_NUMBERS :
694 case HANDLE_FONT_NAME_TEXT :
695 case HANDLE_CUSTOM_FONT_NAME_SERIF :
696 case HANDLE_CUSTOM_FONT_NAME_SANS :
697 case HANDLE_CUSTOM_FONT_NAME_FIXED :
699 const SmFace & rFace = aFormat.
GetFont((*ppEntries)->mnMemberId);
703 case HANDLE_CUSTOM_FONT_FIXED_POSTURE:
704 case HANDLE_CUSTOM_FONT_SANS_POSTURE :
705 case HANDLE_CUSTOM_FONT_SERIF_POSTURE:
706 case HANDLE_FONT_VARIABLES_POSTURE :
707 case HANDLE_FONT_FUNCTIONS_POSTURE :
708 case HANDLE_FONT_NUMBERS_POSTURE :
709 case HANDLE_FONT_TEXT_POSTURE :
711 const SmFace & rFace = aFormat.
GetFont((*ppEntries)->mnMemberId);
715 case HANDLE_CUSTOM_FONT_FIXED_WEIGHT :
716 case HANDLE_CUSTOM_FONT_SANS_WEIGHT :
717 case HANDLE_CUSTOM_FONT_SERIF_WEIGHT :
718 case HANDLE_FONT_VARIABLES_WEIGHT :
719 case HANDLE_FONT_FUNCTIONS_WEIGHT :
720 case HANDLE_FONT_NUMBERS_WEIGHT :
721 case HANDLE_FONT_TEXT_WEIGHT :
723 const SmFace & rFace = aFormat.
GetFont((*ppEntries)->mnMemberId);
724 *pValue <<=
IsBold( rFace );
727 case HANDLE_BASE_FONT_HEIGHT :
734 case HANDLE_RELATIVE_FONT_HEIGHT_TEXT :
735 case HANDLE_RELATIVE_FONT_HEIGHT_INDICES :
736 case HANDLE_RELATIVE_FONT_HEIGHT_FUNCTIONS :
737 case HANDLE_RELATIVE_FONT_HEIGHT_OPERATORS :
738 case HANDLE_RELATIVE_FONT_HEIGHT_LIMITS :
739 *pValue <<= static_cast<sal_Int16>(aFormat.
GetRelSize((*ppEntries)->mnMemberId));
742 case HANDLE_IS_TEXT_MODE :
746 case HANDLE_GREEK_CHAR_STYLE :
750 case HANDLE_ALIGNMENT :
752 *pValue <<= static_cast<sal_Int16>(aFormat.
GetHorAlign());
755 case HANDLE_RELATIVE_SPACING :
756 case HANDLE_RELATIVE_LINE_SPACING :
757 case HANDLE_RELATIVE_ROOT_SPACING :
758 case HANDLE_RELATIVE_INDEX_SUPERSCRIPT :
759 case HANDLE_RELATIVE_INDEX_SUBSCRIPT :
760 case HANDLE_RELATIVE_FRACTION_NUMERATOR_HEIGHT :
761 case HANDLE_RELATIVE_FRACTION_DENOMINATOR_DEPTH:
762 case HANDLE_RELATIVE_FRACTION_BAR_EXCESS_LENGTH:
763 case HANDLE_RELATIVE_FRACTION_BAR_LINE_WEIGHT :
764 case HANDLE_RELATIVE_UPPER_LIMIT_DISTANCE :
765 case HANDLE_RELATIVE_LOWER_LIMIT_DISTANCE :
766 case HANDLE_RELATIVE_BRACKET_EXCESS_SIZE :
767 case HANDLE_RELATIVE_BRACKET_DISTANCE :
768 case HANDLE_RELATIVE_SCALE_BRACKET_EXCESS_SIZE :
769 case HANDLE_RELATIVE_MATRIX_LINE_SPACING :
770 case HANDLE_RELATIVE_MATRIX_COLUMN_SPACING :
771 case HANDLE_RELATIVE_SYMBOL_PRIMARY_HEIGHT :
772 case HANDLE_RELATIVE_SYMBOL_MINIMUM_HEIGHT :
773 case HANDLE_RELATIVE_OPERATOR_EXCESS_SIZE :
774 case HANDLE_RELATIVE_OPERATOR_SPACING :
775 case HANDLE_LEFT_MARGIN :
776 case HANDLE_RIGHT_MARGIN :
777 case HANDLE_TOP_MARGIN :
778 case HANDLE_BOTTOM_MARGIN :
779 *pValue <<= static_cast<sal_Int16>(aFormat.
GetDistance((*ppEntries)->mnMemberId));
781 case HANDLE_IS_SCALE_ALL_BRACKETS :
784 case HANDLE_PRINTER_NAME:
787 *pValue <<= pPrinter ? pPrinter->GetName() : OUString();
790 case HANDLE_PRINTER_SETUP:
796 pPrinter->
Store( aStream );
797 sal_uInt32 nSize = aStream.
TellEnd();
799 Sequence < sal_Int8 > aSequence ( nSize );
800 aStream.
ReadBytes(aSequence.getArray(), nSize);
801 *pValue <<= aSequence;
806 case HANDLE_USED_SYMBOLS:
808 const bool bUsedSymbolsOnly = (*ppEntries)->mnHandle == HANDLE_USED_SYMBOLS;
809 const std::set< OUString > &rUsedSymbols = pDocSh->
GetUsedSymbols();
814 std::vector < const SmSym * > aVector;
817 for (
const SmSym* pSymbol : aSymbols)
819 if (pSymbol && !pSymbol->IsPredefined() &&
820 (!bUsedSymbolsOnly ||
821 rUsedSymbols.find( pSymbol->GetName() ) != rUsedSymbols.end()))
822 aVector.push_back ( pSymbol );
824 Sequence < SymbolDescriptor > aSequence ( aVector.size() );
825 SymbolDescriptor * pDescriptor = aSequence.getArray();
827 for (
const SmSym* pSymbol : aVector)
829 pDescriptor->sName = pSymbol->GetName();
830 pDescriptor->sExportName = pSymbol->GetExportName();
831 pDescriptor->sSymbolSet = pSymbol->GetSymbolSetName();
832 pDescriptor->nCharacter =
static_cast < sal_Int32
> (pSymbol->GetCharacter());
836 pDescriptor->nCharSet = sal::static_int_cast< sal_Int16 >(rFont.
GetCharSet());
837 pDescriptor->nFamily = sal::static_int_cast< sal_Int16 >(rFont.
GetFamilyType());
838 pDescriptor->nPitch = sal::static_int_cast< sal_Int16 >(rFont.
GetPitch());
839 pDescriptor->nWeight = sal::static_int_cast< sal_Int16 >(rFont.
GetWeight());
840 pDescriptor->nItalic = sal::static_int_cast< sal_Int16 >(rFont.
GetItalic());
843 *pValue <<= aSequence;
846 case HANDLE_BASIC_LIBRARIES:
849 case HANDLE_DIALOG_LIBRARIES:
852 case HANDLE_RUNTIME_UID:
856 case HANDLE_LOAD_READONLY :
862 case HANDLE_BASELINE:
874 case HANDLE_INTEROP_GRAB_BAG:
877 case HANDLE_SAVE_THUMBNAIL:
882 case HANDLE_STARMATH_VERSION:
892 const uno::Sequence< beans::PropertyValue >& )
900 const uno::Sequence< beans::PropertyValue >& )
905 throw IllegalArgumentException();
919 awt::Size aPageSize( aPrtPaperSize.
Width(), aPrtPaperSize.
Height() );
921 uno::Sequence< beans::PropertyValue > aRenderer(1);
922 PropertyValue &rValue = aRenderer.getArray()[0];
923 rValue.Name =
"PageSize";
924 rValue.Value <<= aPageSize;
936 const uno::Sequence< beans::PropertyValue >& rxOptions )
941 throw IllegalArgumentException();
948 uno::Reference< awt::XDevice > xRenderDevice;
949 for (
const auto& rxOption : rxOptions)
951 if( rxOption.Name ==
"RenderDevice" )
952 rxOption.Value >>= xRenderDevice;
955 if (!xRenderDevice.is())
966 uno::Reference< frame::XModel >
xModel;
977 SAL_WARN_IF( !pView,
"starmath",
"SmModel::render : no SmViewShell found" );
1003 if (aPrtPageOffset.
Y() < 2000)
1004 OutputRect.
AdjustTop(2000 - aPrtPageOffset.
Y() );
1005 if ((aPrtPaperSize.
Height() - (aPrtPageOffset.
Y() + OutputRect.
Bottom())) < 2000)
1007 (aPrtPageOffset.
Y() + OutputRect.
Bottom()))) );
1010 if (aPrtPageOffset.
X() < 2500)
1011 OutputRect.
AdjustLeft(2500 - aPrtPageOffset.
X() );
1012 if ((aPrtPaperSize.
Width() - (aPrtPageOffset.
X() + OutputRect.
Right())) < 1500)
1014 (aPrtPageOffset.
X() + OutputRect.
Right()))) );
const PropertyValue * pValues
Size GetOutputSize() const
constexpr tools::Long Y() const
constexpr tools::Long X() const
Point GetPageOffset() const
Size GetPaperSize() const
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
void getGrabBagItem(css::uno::Any &rVal) const
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &xParent) override
SfxObjectShell * GetObjectShell() const
OUString const & getRuntimeUID() const
void setGrabBagItem(const css::uno::Any &rVal)
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual std::unique_ptr< SfxItemSet > Clone(bool bItems=true, SfxItemPool *pToPool=nullptr) const
css::uno::Reference< css::script::XLibraryContainer > GetBasicContainer()
virtual void OnDocumentPrinterChanged(Printer *pNewPrinter)
bool IsLoadReadonly() const
static SfxObjectShell * GetShellFromComponent(const css::uno::Reference< css::uno::XInterface > &xComp)
css::uno::Reference< css::script::XLibraryContainer > GetDialogContainer()
css::uno::Reference< css::frame::XModel3 > GetModel() const
void SetUseThumbnailSave(bool _bNew)
bool IsUseThumbnailSave() const
void SetLoadReadonly(bool _bReadonly)
SfxObjectCreateMode GetCreateMode() const
void Store(SvStream &rStream) const
static VclPtr< SfxPrinter > Create(SvStream &rStream, std::unique_ptr< SfxItemSet > &&pOptions)
const SfxItemSet & GetOptions() const
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetNext(const SfxViewShell &rPrev, bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
static SAL_WARN_UNUSED_RESULT SfxViewShell * GetFirst(bool bOnlyVisible=true, const std::function< bool(const SfxViewShell *)> &isViewShell=nullptr)
virtual SfxObjectShell * GetObjectShell() override
constexpr tools::Long Height() const
void setHeight(tools::Long nHeight)
constexpr tools::Long Width() const
void SetFormat(SmFormat const &rFormat)
void SetText(const OUString &rBuffer)
virtual void SetVisArea(const tools::Rectangle &rVisArea) override
const SmTableNode * GetFormulaTree() const
SfxPrinter * GetPrinter()
void SetPrinter(SfxPrinter *)
static SfxItemPool & GetPool()
const OUString & GetText() const
void SetSmSyntaxVersion(sal_uInt16 nSmSyntaxVersion)
const SmFormat & GetFormat() const
sal_uInt16 GetSmSyntaxVersion() const
const std::set< OUString > & GetUsedSymbols() const
tools::Long GetBorderWidth() const
void SetBorderWidth(tools::Long nWidth)
bool IsPrintFrame() const
bool IsPrintTitle() const
sal_uInt16 GetPrintZoomFactor() const
bool IsPrintFormulaText() const
SmPrintSize GetPrintSize() const
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL acquire() noexcept override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL render(sal_Int32 nRenderer, const css::uno::Any &rSelection, const css::uno::Sequence< css::beans::PropertyValue > &rxOptions) override
virtual sal_Int32 SAL_CALL getRendererCount(const css::uno::Any &rSelection, const css::uno::Sequence< css::beans::PropertyValue > &rxOptions) override
static const css::uno::Sequence< sal_Int8 > & getUnoTunnelId()
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual void SAL_CALL release() noexcept override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &aType) override
virtual ~SmModel() noexcept override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getRenderer(sal_Int32 nRenderer, const css::uno::Any &rSelection, const css::uno::Sequence< css::beans::PropertyValue > &rxOptions) override
virtual void _getPropertyValues(const comphelper::PropertyMapEntry **ppEntries, css::uno::Any *pValue) override
virtual void writeFormulaOoxml(::sax_fastparser::FSHelperPtr pSerializer, oox::core::OoxmlVersion version, oox::drawingml::DocumentType documentType, sal_Int8 nAlign) override
virtual Size getFormulaSize() const override
virtual void SAL_CALL setParent(const css::uno::Reference< css::uno::XInterface > &xParent) override
std::unique_ptr< SmPrintUIOptions > m_pPrintUIOptions
virtual void _setPropertyValues(const comphelper::PropertyMapEntry **ppEntries, const css::uno::Any *pValues) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void writeFormulaRtf(OStringBuffer &rBuffer, rtl_TextEncoding nEncoding) override
virtual sal_Int64 SAL_CALL getSomething(const css::uno::Sequence< sal_Int8 > &aIdentifier) override
virtual void readFormulaOoxml(oox::formulaimport::XmlStream &stream) override
SmModel(SfxObjectShell *pObjSh)
SmMathConfig * GetConfig()
SmSymbolManager & GetSymbolManager()
void SetExportName(const OUString &rName)
bool AddOrReplaceSymbol(const SmSym &rSymbol, bool bForceChange=false)
SymbolPtrVec_t GetSymbols() const
tools::Long GetFormulaBaseline() const
Gets the formula baseline.
void Impl_Print(OutputDevice &rOutDev, const SmPrintUIOptions &rPrintUIOptions, tools::Rectangle aOutRect)
virtual sal_uInt64 TellEnd() override
sal_uInt64 Seek(sal_uInt64 nPos)
std::size_t ReadBytes(void *pData, std::size_t nSize)
OUString GetModuleName(EModule eModule) const
static Size GetDefaultPaperSize(MapUnit eUnit=MapUnit::MapTwip)
const VclPtr< OutputDevice > & GetOutputDevice() const
const css::uno::Sequence< sal_Int8 > & getSeq() const
css::uno::Type const & get()
FontFamily GetFamilyType()
void SetPitch(FontPitch ePitch)
void SetItalic(FontItalic)
void SetWeight(FontWeight)
const OUString & GetFamilyName() const
void SetFamily(FontFamily)
void SetCharSet(rtl_TextEncoding)
const Size & GetFontSize() const
void SetAlignment(TextAlign)
void SetFamilyName(const OUString &rFamilyName)
rtl_TextEncoding GetCharSet() const
static css::uno::Any setGroupControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId)
static css::uno::Any setChoiceRadiosControlOpt(const css::uno::Sequence< OUString > &i_rIDs, const OUString &i_rTitle, const css::uno::Sequence< OUString > &i_rHelpId, const OUString &i_rProperty, const css::uno::Sequence< OUString > &i_rChoices, sal_Int32 i_nValue, const css::uno::Sequence< sal_Bool > &i_rDisabledChoices=css::uno::Sequence< sal_Bool >(), const UIControlOptions &i_rControlOptions=UIControlOptions())
std::vector< css::beans::PropertyValue > m_aUIProperties
static css::uno::Any setBoolControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const OUString &i_rProperty, bool i_bValue, const UIControlOptions &i_rControlOptions=UIControlOptions())
static css::uno::Any setSubgroupControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const UIControlOptions &i_rControlOptions=UIControlOptions())
static css::uno::Any setRangeControlOpt(const OUString &i_rID, const OUString &i_rTitle, const OUString &i_rHelpId, const OUString &i_rProperty, sal_Int32 i_nValue, sal_Int32 i_nMinValue, sal_Int32 i_nMaxValue, const UIControlOptions &i_rControlOptions)
Reference< XOutputStream > stream
#define SAL_WARN_IF(condition, area, stream)
class SAL_NO_VTABLE XPropertySet
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
sal_Int64 getSomethingImpl(const css::uno::Sequence< sal_Int8 > &rId, T *pThis, FallbackToGetSomethingOf< Base >={})
css::beans::PropertyValue makePropertyValue(const OUString &rName, T &&rValue)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
detail::Optional< bool >::type tryAccess< bool >(css::uno::Any const &any)
constexpr Point convert(const Point &rPoint, o3tl::Length eFrom, o3tl::Length eTo)
detail::Optional< double >::type tryAccess< double >(css::uno::Any const &any)
std::shared_ptr< FastSerializerHelper > FSHelperPtr
std::pair< OUString const, DataAccessDescriptorProperty > PropertyMapEntry
OUString SmResId(TranslateId aId)
#define STREAM_SEEK_TO_BEGIN
Reference< XModel > xModel
std::vector< const SmSym * > SymbolPtrVec_t
static sal_Int16 lcl_AnyToINT16(const uno::Any &rAny)
static const rtl::Reference< PropertySetInfo > & lcl_createModelPropertyInfo()
constexpr OUStringLiteral PRTUIOPT_TITLE_ROW
constexpr OUStringLiteral PRTUIOPT_BORDER
constexpr OUStringLiteral PRTUIOPT_PRINT_SCALE
constexpr OUStringLiteral PRTUIOPT_PRINT_FORMAT
constexpr OUStringLiteral PRTUIOPT_FORMULA_TEXT
bool IsItalic(const vcl::Font &rFont)
bool IsBold(const vcl::Font &rFont)
o3tl::Length SmO3tlLengthUnit()