Download as odg, pdf, or txt
Download as odg, pdf, or txt
You are on page 1of 49

com.sun.star.accessibility.

XAccessible
com.sun.star.accessibility.XAccessibleComponent
com.sun.star.accessibility.XAccessibleContext
com.sun.star.accessibility.XAccessibleEventBroadcaster
com.sun.star.accessibility.XAccessibleText
com.sun.star.lang.XServiceInfo
comphelper
OAccessibleExtendedComponentHelper
comphelper

OCommonAccessibleText OAccessibleExtendedComponentHelper OCommonAccessibleText

VCLXAccessibleComponent

com.sun.star.accessibility.XAccessibleText

FloatingWindowAccessible

VCLXAccessibleListItem
VCLXAccessibleTextComponent
AccessibleListBox

com.sun.star.accessibility.XAccessible
com.sun.star.lang.XServiceInfo

VCLXAccessibleButton
VCLXAccessibleEdit VCLXAccessibleFixedText VCLXAccessibleTextField

VCLXAccessibleCheckBox VCLXAccessibleFixedHyperlink VCLXAccessibleRadioButton

OAccessibleMenuBaseComponent com.sun.star.accessibility.XAccessibleSelection

m_pMenu

OAccessibleMenuComponent

OAccessibleMenuItemComponent GetChild()
m_pParent Menu

GetChild()

com.sun.star.accessibility.XAccessibleAction
com.sun.star.accessibility.XAccessibleText
com.sun.star.accessibility.XAccessibleValue

VCLXAccessibleMenuItem

VCLXAccessibleMenu

VCLXAccessibleMenuSeparator

com.sun.star.awt.AccessiblePopupMenu

VCLXAccessiblePopupMenu

toolkit svt
IAccessibleFactory
IAccessibleFactory

createAccessible()

VCLXAccessibleMenuBar
accessibility
createAccessible()

getStandardAccessibleFactory

AccessibleEventNotifier
AccessibleFactory

getSvtAccessibilityComponentFactory
ImplB2DPolyPolygon

basegfx

mpPolyPolygon maPolygons

B2DPolygon
B2DPolyPolygon

B2IRectangle B2IRange
B2DTuple stores two double values: X and Y. B2DVector and B2DPoint don't mpPolygon
add any data members, but only provide different sets of methods that work on
the X and Y values.

B2DTuple
B2DTrapezoid ImplB2DPolygon

B2DPoint

maPrevVector
maNextVector
ControlVectorPair2D

B2DVector
maPoints

trapezoidhelper
CoordinateDataArray2D maVector CoordinateData2D

TrapezoidSubdivider
SbxBase

SbxValue

SfxLibraryContainer SbxArray
mpVarEntries
SbxVarEntry mpVar SbxVariable

com.sun.star.util.XCloseListener

pMethods
pProps
pObjs

SbxAlias SbxProperty DocBasicItem


SfxListener

SbxMethod

SbxObject

StarBASIC

SbModule

SbObjModule
SbClassModuleObject SbxFactory

SbJScriptModule

SbClassFactory
Window

chart
com.sun.star.comp.chart2.Title
com.sun.star.chart2.XTitle com.sun.star.awt.XWindow
com.sun.star.beans.PropertySet
com.sun.star.lang.XServiceInfo com.sun.star.frame.XController
com.sun.star.chart2.data.XDataReceiver com.sun.star.chart2.Title
com.sun.star.util.XCloneable com.sun.star.frame.XDispatch
com.sun.star.chart2.XChartDocument com.sun.star.layout.LayoutElement ChartWindow
com.sun.star.document.OfficeDocument com.sun.star.util.XModifyBroadcaster com.sun.star.frame.XDispatchProvider
com.sun.star.chart2.XTitled com.sun.star.style.ParagraphProperties
com.sun.star.chart.ChartDocument com.sun.star.util.XModifyListener m_pWindowController com.sun.star.frame.XLayoutManagerListener
com.sun.star.chart2.XUndoSupplier
... com.sun.star.chart2.ChartDocument com.sun.star.lang.XMultiServiceFactory
TitleHelper WindowController com.sun.star.lang.XServiceInfo
com.sun.star.frame.XDispatch
com.sun.star.ui.XContextMenuInterception
com.sun.star.util.XModifyListener
com.sun.star.util.XCloseListener
The PageBackground class is there simply to store properties of com.sun.star.util.XModeChangeListener
chart's background area, which is the background area of the entire com.sun.star.util.XModifyListener
createTitle()
chart object frame. m_pChartWindow com.sun.star.view.XSelectionSupplier
com.sun.star.chart2.XTitle Title
com.sun.star.chart2.ChartController
RangeHighlighter
com.sun.star.frame.Controller
CommandDispatch
PageBackground

m_xPageBackground E3dView
InternalDataProvider is used to provide its own
data table, as opposed to one provided externally MarkHandleProvider
(e.g. Calc's sheet). Class InternalData stores the m_pMarkHandleProvider
actual data. UndoCommandDispatch m_pDrawViewWrapper
com.sun.star.chart2.data.XRangeHighlighter DrawViewWrapper
InternalData
m_aInternalData ChartController
FeatureCommandDispatchBase
InternalDataProvider SelectionHelper
ChartModel
com.sun.star.chart2.data.XDataProvider
createDataSequenceAndAddToMap() m_pChartController
UncachedDataSequence Selection
ObjectIdentifier
ShapeController ObjectNameProvider
A chart model has multiple diagrams, and each diagram has multiple com.sun.star.chart2.XAxis
coordinate systems. But the current chart2 implementation appears to com.sun.star.chart2.XTitled
make the assumption that the model has only one diagram, and the m_pChartController ChartController::attachFrame() instantiates
com.sun.star.lang.XServiceInfo ChartWindow and sets it as a child window of the frame
diagram has only one coordinate system. com.sun.star.util.XCloneable
m_xDiagram com.sun.star.chart2.XChartTypeContainer being attached.
m_aGraphicObjectVector com.sun.star.util.XModifyBroadcaster ObjectNameProvider provides helper functions, with all its methods
com.sun.star.chart.X3DDefaultSetter com.sun.star.chart2.XCoordinateSystem Furthermore, each coordinate system can have multiple chart types if com.sun.star.util.XModifyListener inside this class are static. One of its methods getHelpText() provides a
com.sun.star.lang.XServiceInfo there are multiple data series of differing types. ChartController's requestQuickHelp() method returns
com.sun.star.chart2.XCoordinateSystemContainer text that goes into a tool tip window when the mouse cursor is hovered
GraphicObject com.sun.star.util.XCloneable tool tip texts to be displayed.
com.sun.star.chart2.XDiagram DrawCommandDispatch within a chart object.
com.sun.star.chart2.XTitled com.sun.star.util.XModifyBroadcaster Each axis of a coordinate system has exactly one scaling data
PlotterBase requires its derived classes to implement createShapes() to draw com.sun.star.chart2.XDiagram
com.sun.star.lang.XServiceInfo com.sun.star.util.XModifyListener (com.sun.star.chart2.ScaleData). ObjectIdentifier is also another helper class consisting entirely of static
whatever the class represents (data series, axis, grid, etc.) in the diagram.
com.sun.star.util.XCloneable methods, to provide methods related to generating object ID's and
com.sun.star.beans.PropertySet com.sun.star.chart2.XDataSeries
VSeriesPlotter::createDataLabel() is responsible for creating the shape object of a com.sun.star.util.XModifyBroadcaster retrieving an object from an ID etc.
com.sun.star.chart2.Diagram com.sun.star.chart2.XRegressionCurveContainer
text label for single data point in pretty much all chart types. com.sun.star.util.XModifyListener
VDataSeriesGroup is a list of series that have the same com.sun.star.layout.LayoutElement com.sun.star.chart2.data.XDataSink
Selection stores 3 instances of ObjectIdentifier; one for the object being
coordinate system, which may be plotted in a stacked manner by com.sun.star.chart2.data.XDataSource com.sun.star.chart2.data.XLabeledDataSequence selected, one for the object that was previously selected before the mouse
the plotter. You can think of this as a group of stacked data series. getAxisByDimension() com.sun.star.chart2.XAxis Axis getScaleData() com.sun.star.chart2.ScaleData com.sun.star.lang.XServiceInfo com.sun.star.lang.XServiceInfo button was pressed, and one for <I have no idea yet>.
When the chart is not stacked, each instance of this class stores setAxisByDimension() setScaleData() com.sun.star.util.XCloneable com.sun.star.util.XCloneable
PlotterBase
only one VDataSeries instance. com.sun.star.util.XModifyBroadcaster com.sun.star.util.XModifyBroadcaster
BaseCoordinateSystem com.sun.star.util.XModifyListener
LegendEntryProvider Plotting of data series is done by VSeriesPlotter's derived classes com.sun.star.chart2.XChartType
via virtual method called createShapes(). Class AreaChart com.sun.star.chart2.XDataSeriesContainer com.sun.star.chart2.data.LabeledDataSequence
handles normal line plotting.
Class Diagram implements this chart2.XDiagram com.sun.star.util.XCloneable
interface, and ChartModel holds multiple instances of getChartTypes() com.sun.star.util.XModifyBroadcaster
com.sun.star.chart2.XCoordinateSystem com.sun.star.util.XModifyListener
class Diagram via this interface. This implies that each m_aCoordSystems setChartTypes()
VDataSequence chart model can support multiple diagrams although Diagram
MinimumAndMaximumSupplier VDataSeries
currently only one diagram is used per chart model.
m_aSeriesVector com.sun.star.chart2.XChartType m_xData com.sun.star.chart2.data.XDataSequence
com.sun.star.chart2.data.XLabeledDataSequence
VDataSeriesGroup m_aDataSequences LabeledDataSequence
m_aZSlots getDataSeries() com.sun.star.chart2.XDataSeries m_xLabel
ChartType setDataSeries() com.sun.star.chart2.data.XDataSequence CachedDataSequence

PlottingPositionHelper m_aAttributedDataPoints
m_aScales com.sun.star.chart2.ExplicitScaleData DataSeries
com.sun.star.comp.chart.PolarCoordinateSystem com.sun.star.beans.XPropertySet
VSeriesPlotter
com.sun.star.comp.chart.CartesianCoordinateSystem DataPoint
AxesNumberFormats m_aRegressionCurves

com.sun.star.chart2.XRegressionCurve
PolarCoordinateSystem ErrorBarX
CartesianCoordinateSystem Each DataSeries contains multiple data sequences, each having a distinct "role". A role is a string value which is one of the
AreaChartType CandleStickChartType PieChartType ErrorBarY
LineChartType values specified in com.sun.star.chart2.data.DataSequenceRole. To fetch the role value, you need to first reach the
m_apNumberFormatterWrapper LabeledDataSequence, then from it get the value data sequence via getValues() method, then use getPropertyValue() of
BarChartType ColumnChartType NetChartType ErrorBar that value sequence to get its "Role" property.
ScatterChartType
These 2 data sequence members may be implemented by different concrete classes depending on whether the chart uses
BubbleChart getSvNumberFormatter() SvNumberFormatter an own data source, Calc's sheet, or Writer's table.
WrappedProperty translates the
NumberFormatterWrapper CartesianCoordinateSystem2d CartesianCoordinateSystem3d external and internal property names
BarChart BarChartType doesn't appear to be used. Instead, ColumnChartType appears to because they may be different.
m_aMinimumAndMaximumSupplierList getNumberFormatsSupplier() cover both horizontal bar chart and vertical column chart types.
m_aLabelInfoList PieChart::PieLabelInfo com.sun.star.util.XNumberFormatsSupplier
AreaChart CandleStickChart PieChart
cppu
m_pPosHelper IPropertyArrayHelper
PiePositionHelper
m_aNumberFormatterWrapper
VAxisOrGridBase TickmarkHelper
com.sun.star.beans.XMultiPropertySet
com.sun.star.beans.XMultiPropertyStates
com.sun.star.beans.XPropertySet OPropertyArrayHelper
com.sun.star.beans.XPropertyState
TickIter
FixedNumberFormatter
VPolarGrid WrappedProperty To see ItemConverter and its polymorphism in action, look in
ChartController::executeDlg_ObjectProperties_withoutUndoGuard() which takes care of
TickmarkHelper_3D
constructing a tabbed dialog with appropriate tab pages based on object's CID.
VCartesianGrid getInfoHelper()

m_pWrappedPropertyMap
TickInfo xTextShape com.sun.star.drawing.XShape ItemConverter
These wrapper classes exist because the chart2 API are brand-new and still very
much transient, and the outside world (including our own ODF filter code) still expects
MergedMinimumAndMaximumSupplier m_aAllTickInfos the stable and frozen chart1 API. So the wrapper classes wraps the internal chart 2
AxisLabelProperties VLineProperties API while providing the chart1 API externally.
m_aAxisLabelProperties WrappedPropertySet
TickmarkProperties The wrapper classes use the Chart2ModelContact instance to get access to the
VAxisBase chart2 implementations internally.

In this context, the term "inner" refers to the chart2 API whereas the "outer" refers to
AxisProperties MultipleConverter
the chart1 API.
LabelPositionHelper

wrapper
Method ChartView::impl_createDiagramAndContent() performs the drawing
of the chart diagram including its axis and axis labels. Class VDiagram is m_aAxisMap (pair of dimension and axis IDs as keys) VPolarAxis ShapeFactory com.sun.star.chart.ChartAxisXSupplier
used locally in that method to represent the diagram object. com.sun.star.chart2.XDiagramProvider WrappedDefaultProperty
com.sun.star.chart.X3DDefaultSetter com.sun.star.chart.ChartAxisYSupplier
Chart2ModelContact
com.sun.star.chart.X3DDisplay com.sun.star.chart.ChartAxisZSupplier
SeriesPlotterContainer is also used locally in ChartView::createShapes() to com.sun.star.chart.ChartTwoAxisXSupplier
com.sun.star.chart.XAxisZSupplier SeriesOptionsItemConverter
manage plotting objects. It has method called VCartesianAxis com.sun.star.chart.ChartTwoAxisYSupplier AllDataLabelItemConverter
initializeCooSysAndSeriesPlotter() which initializes all plotting agents from createTickmarkHelper2D() TickmarkHelper_2D com.sun.star.chart.XDiagram
com.sun.star.chart.XSecondAxisTitleSupplier com.sun.star.chart.Diagram WrappedDirectStateProperty
the chart model. com.sun.star.chart.StackableDiagram WrappedLegendAlignmentProperty
com.sun.star.chart.XStatisticDisplay
com.sun.star.chart.XTwoAxisXSupplier com.sun.star.comp.chart.Diagram StatisticsItemConverter
m_aSplitCategoriesList com.sun.star.chart2.data.XLabeledDataSequence com.sun.star.xml.UserDefinedAttributesSupplier DataPointItemConverter
com.sun.star.chart.XTwoAxisYSupplier
ExplicitCategoriesProvider
VCoordinateSystem com.sun.star.lang.XComponent WrappedIgnoreProperty
com.sun.star.lang.XServiceInfo
m_aExplicitScales com.sun.star.chart2.ExplicitScaleData getExplicitCategoriesProvider() com.sun.star.chart2.XCoordinateSystem
ExplicitValueProvider

com.sun.star.chart2.ChartView SfxListener ExplicitCategoriesProvider fetches category label values from


com.sun.star.comp.chart2.DataSeriesWrapper
the application callback service.
m_aVCooSysList

WrappedNumberFormatProperty
m_xXAxis com.sun.star.chart.XAxis
VCartesianCoordinateSystem m_xCoordinateRegionShape com.sun.star.drawing.XShape m_xYAxis com.sun.star.drawing.XShape
m_xZAxis com.sun.star.lang.XComponent DataSeriesPointWrapper
com.sun.star.chart.XAxis
m_xSecondXAxis com.sun.star.lang.XServiceInfo WrappedSeriesOrDiagramProperty WrappedLinkNumberFormatProperty
VPolarCoordinateSystem m_xOuterGroupShape com.sun.star.drawing.XShape m_xSecondYAxis com.sun.star.util.XNumberFormatsSupplier

VDiagram m_xTarget com.sun.star.drawing.XShapes


com.sun.star.comp.chart.Axis

DiagramWrapper
WrappedSymbolTypeProperty
SeriesPlotterContainer
createShapes() impl_createDiagramAndContent()
AxisWrapper WrappedSymbolAndLinesProperty
WrappedSymbolBitmapURLProperty

m_aAxisUsageList
WrappedSymbolSizeProperty

WrappedDataRowSourceProperty
initializeCooSysAndSeriesPlotter() AxisUsage ScaleAutomatism com.sun.star.chart2.ScaleData

ScaleAutomatism keeps track of the minimum and maximum


values of all source data for each individual axis, categorized
by primary/secondary and x/y/z axis types. There is one
instance of AxisUsage for each of these axis types.
VDataSeries

VDataSequence
svt
VDataSeries contains multiple instances of
VDataSequence – one for each of X values, RoadmapWizard OWizardPage EditBrowseBox
Y values, Y min values, Y max values, Y first
values, and Y last values. VDataSequence
only contains a sequence of double values.
SdrModel

ChartView
ModalDialog DataBrowserModel
SvxUnoDrawMSFactory

DataBrowser
AbstractShapeFactory
SvxFmMSFactory m_xBrwData
m_pDrawModelWrapper DrawModelWrapper
getUnoModel() DataEditor

SvxUnoDrawingModel
DialogModel
ShapeFactory
opengl
ChangingResource
SvxUnoDrawingModel wraps the internal SdrModel class com.sun.star.comp.chart2.WizardDialog
to provide necessary UNO API. It also acts as a service com.sun.star.beans.XPropertySet com.sun.star.chart2.WizardDialog OpenglShapeFactory
factory implementing the XMultiServiceFactory interface. com.sun.star.frame.XTerminateListener
com.sun.star.lang.XMultiServiceFactory com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo
com.sun.star.ui.dialogs.XExecutableDialog
m_xShapeFactory

TabPageNotifiable
com.sun.star.drawing.XDrawPage SdrPage ChartTypeDialogController
m_xDrawPage

VLegend CreationWizardUnoDlg
lcl_createLegend
createShapes
ChartTypeDialog
lcl_createTitle VTitle
ChartTypeTabPage StockChartDialogController

CreationWizard PieChartDialogController LineChartDialogController AreaChartDialogController


m_xChartModel
RangeSelectionListenerParent
com.sun.star.frame.XModel XYChartDialogController NetChartDialogController ColumnOrBarChartDialogController
TabDialog
com.sun.star.document.XExporter CombiColumnLineChartDialogController
com.sun.star.document.XFilter RangeChooserTabPage
This frame.XModel interface here is expected to be com.sun.star.document.XImporter
a base interface of chart2.XChartDocument which com.sun.star.lang.XServiceInfo DataSourceDialog DataSourceTabPage
is implemented by class ChartModel. ChartTypeDialogController is responsible for
populating the chart model based on what chart the user
selects in the chart type dialog. In its commitToModel()
method, it converts dialog's input, which is stored in
TitlesAndObjectsTabPage ChartTypeParameter, to chart model's properties.

XMLFilter

LocationTabPage

ChartTypeParameter

SfxTabPage

XMLReportFilterHelper
DataLabelsTabPage

m_aDataLabelResources
SchAttribTabDlg SchOptionTabPage
DataLabelsDialog DataLabelResources
ObjectPropertiesDialogParameter m_apDataLabelResources
comphelper

SequenceAsHashMapBase
AccessibleEventNotifier

AccessibleEventNotifier consists only of static methods. It


handles sending events to accessibility framework, registering
listeners per client etc. com.sun.star.embed.XEmbeddedObject

SequenceAsHashMap
maObjectContainer
com.sun.star.embed.XStorage

mxStorage
EmbeddedObjectContainer
com.sun.star.embed.XStorage
pImpl mxImageStorage
MediaDescriptor EmbedImpl
com.sun.star.accessibility.XAccessibleEventBroadcaster
com.sun.star.accessibility.XAccessibleContext
Each SfxObjectShell object owns an instance of EmbeddedObjectContainer to store OLE
objects. The storage basically represents the content structure of the whole ODF archive
representing the document. The image storage is a special storage subspace within the storage
whose name is "ObjectReplacements". The life cycle of the storage is managed by the object
shell itself, whereas EmbeddedObjectContainer manages its content.
OAccessibleContextWrapper
OContextHelper_Impl This storage is also sometimes referred to as "persistent storage" or "persistent representation"
of the document model.

Each embedded object takes up a top-level "directory" of the storage, and its name becomes the
OAccessibleContextHelper
name of that directory.

OCommonAccessibleComponent

com.sun.star.accessibility.XAccessibleExtendedComponent
com.sun.star.accessibility.XAccessibleComponent

OAccessibleComponentHelper OAccessibleExtendedComponentHelper

com.sun.star.accessibility.XAccessibleSelection

OAccessibleSelectionHelper

com.sun.star.io.XPersistObject com.sun.star.uno.script.EventAttacherManager
com.sun.star.script.XEventAttacherManager

com.sun.star.script.ScriptEventDescriptor
aEventList

aIndex AttacherIndex_Impl
ImplEventAttacherManager
aObjList AttachedObject_Impl
configmgr

com.sun.star.beans.XExactName
com.sun.star.beans.XProperty
com.sun.star.beans.XPropertySetInfo
com.sun.star.configuration.XTemplateContainer
com.sun.star.beans.XExactName
com.sun.star.container.XContainer
com.sun.star.beans.XProperty
com.sun.star.container.XHierarchicalName
com.sun.star.container.XContainer
com.sun.star.container.XHierarchicalNameAccess
com.sun.star.container.XHierarchicalName
configapi com.sun.star.container.XNameAccess
com.sun.star.container.XHierarchicalNameAccess
com.sun.star.util.XStringEscape
com.sun.star.container.XNameAccess
NodeAccess

getByHierarchicalName()
NodeSetInfoAccess
m_pRegistry ObjectRegistry BasicGroupAccess
NodeGroupInfoAccess com.sun.star.container.XNameReplace
getByHierarchicalName() BasicSetAccess

ObjectRegistry stores pointers to implGetByHierarchicalName


NodeElement instances (but it itself does NodeSetAccess
not manage their life cycle), and associate
them with NodeID values. When NodeGroupAccess
searching for a particular NodeElement
instance, it uses a NodeID value as a key. BasicGroup
OSetElementGroupInfo
m_aMap NodeValueSetAccess
implGetPropertyValue
OInnerGroupInfo ORootElementGroupInfo
OInnerGroupUpdate
implGetPropertyValues

com.sun.star.container.XNamed
Factory com.sun.star.lang.XComponent BasicSet ORootElementSetInfo
com.sun.star.lang.XLocalizable OSetElementGroupUpdate
com.sun.star.lang.XServiceInfo
NodeElement com.sun.star.util.XChangesBatch BasicValueSet
Components is a singleton instance, and keeps com.sun.star.util.XChangesNotifier OSetElementSetInfo
pointers to live RootAccess instances.
OInnerSetInfo

makeAccessRoot()
NodeClass
InnerElement
com.sun.star.beans.XHierarchicalPropertySet OInnerTreeSetUpdate OSetElementTreeSetUpdate
TreeElement implCommitChanges com.sun.star.beans.XMultiHierarchicalPropertySet
Components com.sun.star.beans.XMultiPropertySet
com.sun.star.beans.XMultiPropertyStates ORootElementTreeSetUpdate
Access commitChanges()
com.sun.star.beans.XPropertySet
com.sun.star.beans.XPropertyState
SetElement BasicUpdateElement
OInnerElement OSetElementValueSetUpdate
OInnerTreeValueUpdate
RootElement
implSetPropertyValue

RootAccess ORootElementValueSetUpdate
m_pParentTree
ReadOnlyObjectFactory setPropertyValue()

UpdateObjectFactory ApiTreeImpl
ChildAccess OSetElement
UpdateRootElement BasicPropertySet
getReaderFactory() OReadRootElement

getWriterFactory()
getApiTree()

ApiRootTreeImpl::NodeListener
getCommitter()

ApiProviderInstances m_aObjectRegistry ApiRootTreeImpl ORootElementGroupUpdate


OUpdateRootElement
ServiceImplementationRequest is used
m_aReaderProvider getElementClass()
inside component_getFactory() to
m_aWriterProvider
instantiate an appropriate service factory. ApiProvider
Comitter

ServiceImplementationRequest

CreateProviderFactory() createProviderFactory com.sun.star.lang.XServiceInfo RequestOptions is used to specify tree access


options and what data is being requested by the
OOptions requester. Options such as whether or not refresh
RequestOptions or async access are allowed are specified by this
m_pNewProviders class instance.

ServiceComponentImpl

com.sun.star.lang.XSingleComponentFactory getTree()
com.sun.star.lang.XLocalizable view
com.sun.star.lang.XMultiServiceFactory
com.sun.star.util.XFlushable
This view::Node class stores pointers to the Tree
com.sun.star.util.XRefreshable
CacheLoadingAccess ValueNode instance and NodeData instance (both are in
ProviderFactory IDefaultableTreeManager configuration namespace) to allow retrieval of
the actual data node (sharable::Node) instance if
Node needed.
GroupNode
getProviderAlways() ValueNode, GroupNode and SetNode all wrap
their corresponding Node instance around, while
their get_impl() method returns
OProvider ValueElementNodeImpl, GroupNodeImpl, and
getDefaultConfigProviderSingleton SetNode
SetNodeImpl instacne of their respective node
type.
instantiateDefaultProvider
OProviderImpl configuration ViewTreeAccess
NodeFactory and its child classes are used to create new instances of
buildReadAccess() NodeImpl. In the current implementation (as of 3.1), there is no
NodeRef
difference between DeferredNodeFactory and BasicNodeFactory
Path other than their names.
NodeRef only contains the ViewStrategy
Rep Component
position of a real node instance AbsolutePath
in a tree. It itself does not store ValueRef commit() NodeFactory
the node value.
ServiceCreationInfo ServiceRegistrationInfo

AnyNodeRef

ServiceRegistrationInfo contains an implementation service name and a list of createDirectAccessStrategy DirectViewStrategy DeferredNodeFactory
registered service names that the implementation service covers.
Tree NodeImpl()
NodeData
In configmgr, there are two global instances of ServiceCreationInfo to control, m_pSpecificNode NodeImpl ReadOnlyViewStrategy
based on the requested service, what method gets called to instantiate an NodeID m_pParentTree BasicNodeFactory
appropriate implementation class instance. createReadOnlyStrategy
Currently the following rules are followed.

For the following services,

com.sun.star.configuration.ConfigurationAccess
com.sun.star.configuration.HierarchyAccess
GroupNodeImpl SetNodeImpl DeferredViewStrategy
com.sun.star.configuration.HierarchyElement getDirectAccessFactory
createReadOnlyTree
OProviderImpl::createReadAccess() gets called to create an instance. And for the
following services, ValueElementNodeImpl
SetEntry createDeferredChangeStrategy getReadAccessFactory
ElementTree
com.sun.star.configuration.ConfigurationUpdateAccess
RootTree
com.sun.star.configuration.ConfigurationAccess
com.sun.star.configuration.HierarchyAccess buildUpdateAccess()
com.sun.star.configuration.HierarchyElement createUpdatableTree getDeferredChangeFactory

OProviderImpl::createUpdateAccess() gets called to create an instance.

This affects which code path gets executed when


OProvider::createInstanceWithArguments() is called to instantiate a service.
GetOriginalNodeAccess()
m_pNodeRef
Change
ChangeTreeModification

AddNode
TreeChangeList

RemoveNode ValueChange
root
ServiceImplementationInfo
SubtreeChange

SubtreeChangeReferrer
CacheLine
m_aModules
localbe CacheData
CacheClientAccess AdjustUpdate
sharable ONodeConverter
com.sun.star.configuration.backend.SingleBackend m_aCacheList CacheLine represents a cache line
com.sun.star.configuration.backend.LocalSingleBackend in a single configuration tree. But
info ExpandChangesForLocale ApplyUpdate OCreateSubtreeAction OMergeValueChange OStripDefaults
what the heck is a cache line?
NodeInfo
TreeManager TemplateCacheData Node group
com.sun.star.configuration.backend.XBackendEntities GroupNode OCleanupLayerAction OMergeRemoveNode
MergeLayerToTree
com.sun.star.configuration.backend.XMultiLayerStratum
com.sun.star.configuration.backend.XSchemaSupplier
com.sun.star.lang.XInitialization nodes
set
com.sun.star.lang.XServiceInfo
TreeFragment
ConfigChangeBroadcastHelper
SetNode
ExtendedCacheData

value NodeAction
LocalSingleBackend
NodeModification

com.sun.star.configuration.backend.XBackendEntities header
com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo getCacheLoader()
CacheLineClientRef ValueNode ForwardTreeDifferenceBuilder
m_aData
AnyData
node
com.sun.star.configuration.backend.LocalSingleStratum OCacheWriteScheduler INode
com.sun.star.configuration.backend.SingleStratum
TreeFragmentHeader m_aAttributes
LocalStratumBase Attributes State
ISubtree ValueNode
com.sun.star.configuration.backend.LocalMultiStratum
com.sun.star.configuration.backend.XSingleLayerStratum
com.sun.star.configuration.backend.MultiStratum
backend

m_aCacheMap CacheLoadingAccess
CacheController
CacheChangeMulticaster

LocalMultiStratum
LocalSingleStratumBase

ServiceImplementationInfo BinaryCache

ServiceRegistrationInfo
LocalResourceStratum
LocalDataStratum
LocalSingleStratum

LocalReadOnlyStratum
connectivity

sdbcx

com.sun.star.container.XNamed
com.sun.star.lang.XServiceInfo
com.sun.star.sdbcx.XAlterTable
com.sun.star.sdbcx.XColumnsSupplier
com.sun.star.sdbcx.XDataDescriptorFactory
com.sun.star.sdbcx.XIndexesSupplier
com.sun.star.sdbcx.XKeysSupplier
com.sun.star.sdbcx.XRename

OTable

IResultSetHelper
OSkipDeletedSet

file
odbc
OResultSet OFileTable

OResultSet

dbase
ORowSetCacheIterator flat evoab
OFlatTable
ODbaseTable OEvoabTable

ODbaseTable class implements dbase (dbf) file import.


cppu

com.sun.star.uno.XWeak

OWeakObject

Base class to implement an UNO object supporting weak references,


i.e. the object can be held weakly (by a
com.sun.star.uno.WeakReference). This implementation copes with
reference counting. Upon last release(), the virtual dtor is called.

com.sun.star.beans.XFastPropertySet
com.sun.star.beans.XMultiPropertySet
com.sun.star.beans.XPropertySet

OPropertySetHelper
SfxTabPage Window

SvNumberFormatterIndexTable
SvxNumberPreviewImpl

SfxPoolItem
SvxNumberFormatTabPage

aEntryList
SvxNumberInfoItem SvNumberFormatter
SvxDelStrgs

SvNumberFormatTable

SvxNumberFormatShell

SvxLineTabPage implements the line


properties tab page for line charts.

SvxLineTabPage
dbaccess

com.sun.star.lang.XServiceInfo
com.sun.star.lang.XUnoTunnel
com.sun.star.sdbc.XCloseable
com.sun.star.sdbc.XColumnLocate
com.sun.star.sdbc.XResultSetMetaDataSupplier dbaui
com.sun.star.sdbc.XRow
com.sun.star.sdbc.XRowSet com.sun.star.lang.XEventListener
com.sun.star.sdbc.XWarningsSupplier
com.sun.star.sdbcx.XColumnsSupplier
com.sun.star.sdbcx.XRowLocate

ODatabaseImportExport
com.sun.star.sdbc.XRow

ORowSetImportExport
OCacheSet
ORowSetBase ORowSetCache

com.sun.star.lang.XEventListener
com.sun.star.sdb.XCompletedExecution ODatabaseExport
OBookmarkSet OKeySet OStaticSet
com.sun.star.sdb.XParametersSupplier
com.sun.star.sdb.XResultSetAccess
com.sun.star.sdb.XRowSetApproveBroadcaster
com.sun.star.sdbc.XParameters OHTMLImportExport SvRTFParser
ORowSetCacheIterator
com.sun.star.sdbc.XResultSetUpdate
com.sun.star.sdbc.XRowUpdate
com.sun.star.sdbc.XWarningsSupplier ORTFImportExport
com.sun.star.sdbcx.XDeleteRows com.sun.star.sdb.ResultSet
com.sun.star.util.XCancellable com.sun.star.sdb.RowSet
com.sun.star.sdbc.ResultSet
com.sun.star.sdbc.RowSet ORowSetClone
com.sun.star.sdbcx.ResultSet Read() Read()
HTMLParser

TabPage
ORowSet
ORTFReader

OHTMLReader
OWizardPage

OWizTypeSelect

createReader() createReader()

ODataView

OWizNormalExtend

OWizHTMLExtend

OWizRTFExtend
DBTreeView

UnoDataBrowserView

SbaGridControl

UnoDataBrowserView is the top-level window


for the data sources pane, which gets activated
when pressing F4 in Calc or Writer.
desktop

com.sun.star.task.XJob
com.sun.star.task.XJobExecutor
com.sun.star.lang.XComponent com.sun.star.task.Job
com.sun.star.lang.XServiceInfo

RoadmapWizard OWizardPage
Application

CommandLineArgs MigrationPage
GetCommandLineArgs() FirstStart
Desktop
FirstStartWizard

The Desktop class has method called Main() that functions as the
effective main loop of the entire OOo application.

There is only one global instance of CommandLineArgs, which is


instantiated in the first call to Desktop::GetCommandLineArgs().

Migration MigrationImpl

dp_manager

factory

com.sun.star.deployment.XPackageManagerFactory

PackageManagerFactoryImpl

com.sun.star.deployment.XPackageManager
getPackageManager()

PackageManagerImpl

com.sun.star.frame.XTerminateListener
ModelessDialog
com.sun.star.ucb.XContentEventListener

dp_gui

DialogImpl
drawinglayer

geometry
processor2d

ViewInformation2D ImpViewInformation2D
maViewInformation2D

BaseProcessor2D

svtools::SvtOptionsDrawinglayer

VclProcessor2D

VclPixelProcessor2D

VclMetaFileProcessor2D

BaseProcessor2D::process() takes an array of 2D primitive objects.


process

com.sun.star.graphic.XPrimitive2D

primitive2d

BasePrimitive2D
animation

AnimationEntry
GroupPrimitive2D
BufferedDecompositionPrimitive2D maBuffered2DDecomposition
Primitive2DReference getAnimationEntry()

AnimatedSwitchPrimitive2D
AnimationEntryFixed AnimationEntryList

AnimationEntryLinear
SdrGrafPrimitive2D AnimatedInterpolatePrimitive2D

AnimationEntryLoop
AnimatedBlinkPrimitive2D
PolygonStrokePrimitive2D
GraphicPrimitive2D

SdrBorderlinePrimitive2D
BorderLinePrimitive2D

BufferedDecompositionPrimitive2D provides a protected virtual method


create2DDecomposition() for its derived classses for them to implement their respective
decomposition scheme. Once decomposed, it caches its decomposition result and uses it for
all subsequent decomposition requests.

SdrGrafPrimitive2D creates one GraphicPrimitive2D instance in method


create2DDecomposition() that represents the stored bitmap.

attribute

StrokeAttribute defines a dot-dash pattern, and LineAttribute defines the color and width of a
line, as well as line-join and line-cap types.

StrokeAttribute mpStrokeAttribute ImpStrokeAttribute

LineAttribute mpLineAttribute ImpLineAttribute

FontAttribute
com.sun.star.datatransfer.dnd.OleDragSource
com.sun.star.datatransfer.XDataFormatTranslator
com.sun.star.lang.XServiceInfo
com.sun.star.datatransfer.dnd.XDragSource com.sun.star.datatransfer.DataFormatTranslator
com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo

DragSource
CDataFormatTranslator

com.sun.star.datatransfer.XTransferable
com.sun.star.datatransfer.XSystemTransferable
com.sun.star.datatransfer.dnd.OleDropTarget FormatEntry
IDataObject
com.sun.star.datatransfer.DataFlavor DataFlavor keeps track of the mime type,
com.sun.star.datatransfer.dnd.XDropTarget human-readable name, and the data type.
com.sun.star.lang.XInitialization CDTransObjFactory m_rDataObject
com.sun.star.lang.XServiceInfo
CAPNDataObject
createTransferableFromDataObj()

CDOTransferable
DropTarget com.sun.star.datatransfer.XMimeContentTypeFactory
com.sun.star.datatransfer.MimeContentTypeFactory

CMimeContentTypeFactory

com.sun.star.datatransfer.clipboard.SystemClipboard

com.sun.star.datatransfer.clipboard.XClipboardEx
com.sun.star.datatransfer.clipboard.XClipboardNotifier com.sun.star.datatransfer.clipboard.XClipboardEx
com.sun.star.lang.XInitialization com.sun.star.datatransfer.clipboard.XClipboardNotifier
com.sun.star.lang.XServiceInfo com.sun.star.datatransfer.clipboard.XFlushableClipboard
com.sun.star.lang.XServiceInfo

CWinClipboardDummy

x11

X11Clipboard CMtaOleClipboard

CWinClipboard
m_pImpl
CWinClipbImpl com.sun.star.datatransfer.XTransferable

CXNotifyingDataObject com.sun.star.datatransfer.clipboard.XClipboardOwner

When Window::GetClipboard() is called, it creates a system clipboard instance via


service name com.sun.star.datatransfer.clipboard.SystemClipboard, and its
instance stored with that Window instance. Only the topmost application frame
window instance stores the system clipboard instance. The class that implements the
system clipboard service varies from platform to platform. For instance,
CWinClipboard implements this service for the Windows platform, while
X11Clipboard does for Unix.
EditLine
EditLineList

TextPortion ExtraPortionInfo
TextPortionList

ScriptTypePosInfo

EditEngine has CalcFieldValue() virtual method which the derived class OutlinerEditEng WritingDirectionInfo
implements. OutlinerEditEng simply routes that call to its owner Outliner, which does the actual
assignment of field values based on the value passed from a custom handler. In normal cases, each ParaPortion
application module sets its own field handler to assign the actual string value of a field item. ParaPortionList com.sun.star.beans.XPropertySet
com.sun.star.lang.XServiceInfo
For instance, in Draw, SdModule contains callback to handle field value assignment. Likewise in Calc, com.sun.star.lang.XUnoTunnel
ScModule contains callback for field values. com.sun.star.text.XTextField

EditEngine's UpdateFields() method is the top-level method that iterates through all field items and
update their values.
SvxUnoFieldData_Impl
EditView's InsertField() is a good place to start when trying to see what happens when inserting a GetParaPortions() mpImpl
new field item. GetNode()
SvxUnoTextField
Font
ContentAttribs aAttribSet SfxItemSet

SvxFont
vcl ContentNode GetDefFont() CreateFieldData()
GetCharAttribs()
unohelper
SvxFont CharAttribList
aAttribs
DragAndDropClient maContents EditCharAttrib
GetDefFont()
GetItem()
GetEditDoc() EditDoc SfxPoolItem SvxFieldData

ImpEditEngine
EditCharAttribFont
EditSelection aStartPaM pField
aEndPaM EditPaM
pImpEditEngine EditCharAttribField
DeletedNodeInfo SvxFieldItem

WrongList
EditView pImpEditView ImpEditView pEditEngine EditEngine ImpEditEngine has the Paint method that draws string while in cell
input mode (in Calc).
pEditView
OutlinerView ImpEditEngine organizes text object first by paragraphs. Each
SfxUndoAction paragraph is represented by an instance of ParaPortion. Each
paragraph has a list of lines and a list of text portions. Each line is
CreateAttribUndo() represented by an instance of EditLine, and has the positions of the SvxDateField
individual characters on that line, as well as the starting and ending
EditUndo character positions.
SvxURLField SvxPagesField
ParaPortion also stores a list of text portions, which are independent of GetItem()
lines. A text portion is a segment of text where the script type is SvxFooterField
OutlinerEditEng EditUndoSetAttribs ContentAttribsInfo uniform. SvxPageField SvxTimeField SvxExtFileField
SfxBroadcaster SvxHeaderField
SvxFileField SvxExtTimeField
SvxAuthorField
pEditEngine EditLine SvxTableField
CreateTextObject()
XEditAttribute stores the start and
end positions and one SfxPoolItem
SvxDateTimeField
instance that stores attributes.
Outliner

ParagraphData

pParaList
XEditAttribute
ParagraphList SfxItemPoolUser ContentInfo GetAttribs()
GetContents()
Paragraph

OutlinerParaObject mpImpl EditTextObjectImpl XParaPortionList XParaPortion


EditTextObject
OutlinerParaObjData
mpEditTextObject
pPool
SfxItemPool

EECharAttrib

SvxEditSource
SvxTextForwarder

com.sun.star.accessibility.XAccessibleText comphelper
com.sun.star.accessibility.XAccessibleTextAttributes OCommonAccessibleText
mpAdaptee

accessibility
SvxDummyTextSource

GetEditSource() SvxAccessibleTextAdapter
AccessibleStaticTextBase_Impl SvxEditSourceAdapter
mpImpl
AccessibleStaticTextBase
mpTextParagraph
mxParagraph

AccessibleEditableTextPara

AccessibleTextHelper_Impl maChildren
maParaManager
AccessibleParaManager

ScAccessibleCell ScAccessibleCsvCell

SvParser

HTMLParser

SfxHTMLParser

EditHTMLParser
com.sun.star.chart2.XDefaultSizeTransmitter
com.sun.star.container.XChild
com.sun.star.embed.XEmbedPersist
com.sun.star.embed.XEmbeddedObject
com.sun.star.embed.XInplaceObject
com.sun.star.embed.XLinkageSupport

m_xComponent com.sun.star.util.XCloseable
DocumentHolder
This represents the document
m_pDocHolder model.

DocumentHolder holds the actual instance of the document model


that is embedded. For instance, for a chart object, the ChartModel
instance which represents the chart object model is stored as
m_xComponent inside DocumentHolder.

OCommonEmbeddedObject

com.sun.star.embed.XEmbeddedObjectCreator

comphelper

MimeConfigurationHelper
OOoEmbeddedObjectFactory
Window

pcr

com.sun.star.awt.XFocusListener
com.sun.star.awt.XLayoutConstrains
com.sun.star.beans.XPropertyChangeListener
com.sun.star.inspection.XObjectInspector
com.sun.star.inspection.XPropertyControlFactory OPropertyEditor
getPropertyBox()
com.sun.star.lang.XInitialization OPropertyBrowserView
com.sun.star.lang.XServiceInfo

OBrowserListBox

OPropertyBrowserController
filter
config

BaseLock
filter_info_impl

com.sun.star.document.FilterFactory
XMLFilterJarHelper BaseContainer
m_lTypes
TypeDetectionExporter n_lDetectServices

m_lFilters CacheItem
FilterCache
FilterFactory m_lFrameLoaders

m_lContentHandlers
FlashExporter

com.sun.star.document.XTypeDetection

TypeDetection

If you ever need to debug what filter is used to open a given


file, head straight to the TypeDetection class. This class
performs the entire filter type detection task singlehandedly.

swf

OslOutputStreamWrapper_Base
FlashExportFilter

pwp
OslOutputStreamWrapper
com.sun.star.document.XFilter
com.sun.star.document.XExporter
com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo

PlaceWareExportFilter
cppu

OPropertySetHelper

comphelper

OPropertySetAggregationHelper OPropertyStateHelper

frm

OControlModel

com.sun.star.beans.XPropertyChangeListener
OBoundControlModel com.sun.star.container.XContainer
com.sun.star.container.XEnumerationAccess
ORichTextModel com.sun.star.container.XIndexContainer
com.sun.star.container.XNameContainer
OFixedTextModel com.sun.star.io.XPersistObject
com.sun.star.script.XEventAttacherManager
com.sun.star.util.XCloneable
OGroupBoxModel
OClickableImageBaseModel OReferenceValueComponent

OGridControlModel
ONavigationBarModel com.sun.star.uno.XInterface
m_aItems
m_aMap

OHiddenModel OInterfaceContainer
m_xEventAttacher
com.sun.star.script.XEventAttacherManager

com.sun.star.form.component.CheckBox

OFormsComponents
OCheckBoxModel
OGridControlModel
com.sun.star.form.component.Form
com.sun.star.form.FormComponents com.sun.star.form.Forms

OFormsCollection

ODatabaseForm

m_pGroupManager
OGroupManager

OinterfaceContainer stores all form control instances in each session.


svt

StatusbarController

ToolBox

framework

SimpleTextStatusbarController com.sun.star.lang.XComponent
com.sun.star.lang.XInitialization
com.sun.star.frame.XFrameActionListener
com.sun.star.lang.XTypeProvider
com.sun.star.frame.XStatusListener com.sun.star.frame.XNotifyingDispatch
com.sun.star.ui.XUIConfigurationListener
com.sun.star.lang.XComponent com.sun.star.frame.XSynchronousDispatch
com.sun.star.ui.XUIElement
com.sun.star.awt.XMenuListener com.sun.star.lang.XTypeProvider
com.sun.star.ui.XUIElementSettings
com.sun.star.container.XContainerQuery com.sun.star.frame.XDispatch com.sun.star.ui.XUIConfigurationListener
com.sun.star.util.XUpdatable
com.sun.star.container.XNameReplace com.sun.star.frame.XDispatchProvider
com.sun.star.lang.XTypeProvider com.sun.star.frame.XModuleManager com.sun.star.frame.XPopupMenuController
com.sun.star.lang.XInitialization com.sun.star.lang.XServiceInfo com.sun.star.frame.XStatusListener
com.sun.star.frame.XTitleChangeListener com.sun.star.lang.XTypeProvider com.sun.star.lang.XComponent
com.sun.star.frame.XFrameActionListener com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo
com.sun.star.lang.XTypeProvider ToolBarManager ToolBar
UIConfigElementWrapperBase com.sun.star.frame.XDispatchProvider com.sun.star.frame.XFrame
LoadEnv m_xTargetFrame
LoadDispatcher
com.sun.star.ui.ToolBarFactory The ToolBar instance gets deleted via doLazyDelete()
com.sun.star.comp.framework.ToolBarFactory m_xToolBarManager
method inside ToolBarManager::Destroy().
TitleBarUpdate ModuleManager PopupMenuControllerBase

ToolBarWrapper
createUIElement() LoadEnv does the actual loading of documents. See
ToolBoxFactory
LoadDispatcher::impl_dispatch() for the top-level process
Filter of loading a document.
RecentFilesMenuController MenuDispatcher
FilterCFGAccess

com.sun.star.awt.XFocusListener
com.sun.star.awt.XTopWindowListener
DispatchProvider HelpAgentDispatcher
com.sun.star.awt.XWindowListener com.sun.star.frame.XNotifyingDispatch
com.sun.star.ui.StatusBarFactory FilterFactory FilterCache DataContainer
com.sun.star.document.XActionLockable com.sun.star.frame.XDispatchInformationProvider
com.sun.star.comp.framework.StatusBarFactory
com.sun.star.frame.XComponentLoader com.sun.star.lang.XTypeProvider
com.sun.star.frame.XDispatchInformationProvider
com.sun.star.frame.XDispatchProvider
com.sun.star.frame.XDispatchProviderInterception
com.sun.star.frame.XFramesSupplier
com.sun.star.frame.XTitle StatusBar
com.sun.star.frame.XTitleChangeBroadcaster
com.sun.star.lang.XServiceInfo CloseDispatcher
com.sun.star.lang.XTypeProvider StatusBarFactory
com.sun.star.task.XStatusIndicatorFactory
com.sun.star.util.XCloseable createUIElement() FrameworkStatusBar
com.sun.star.frame.Frame m_xStatusBarManager m_pStatusBar
com.sun.star.comp.framework.Frame StatusBarWrapper StatusBarManager
StartModuleDispatcher

m_xConfigSource
com.sun.star.awt.XWindowListener
com.sun.star.frame.XFrameActionListener com.sun.star.ui.XUIConfigurationManager
com.sun.star.frame.XInplaceLayout
com.sun.star.frame.XLayoutManager
com.sun.star.frame.XLayoutManagerEventBroadcaster
com.sun.star.frame.XMenuBarMergingAcceptor
com.sun.star.lang.XServiceInfo com.sun.star.awt.XDockableWindowListener StatusBarManager is central to managing all sorts of tasks
com.sun.star.ui.XUIConfigurationListener com.sun.star.awt.XWindowListener associated with status bars.
com.sun.star.frame.XComponentLoader
com.sun.star.ui.XUIConfigurationListener
com.sun.star.frame.XDesktop
com.sun.star.frame.XDispatchProvider
com.sun.star.frame.XDispatchProviderInterception com.sun.star.lang.XServiceInfo
com.sun.star.frame.XDispatchResultListener com.sun.star.lang.XSingleServiceFactory com.sun.star.frame.LayoutManager
com.sun.star.frame.XFramesSupplier com.sun.star.lang.XTypeProvider com.sun.star.comp.framework.LayoutManager com.sun.star.lang.XComponent
com.sun.star.frame.XTasksSupplier com.sun.star.lang.XInitialization
com.sun.star.frame.XUntitledNumbers com.sun.star.lang.XServiceInfo
com.sun.star.lang.XServiceInfo com.sun.star.lang.XTypeProvider
com.sun.star.lang.XTypeProvider com.sun.star.frame.TaskCreator com.sun.star.ui.XModuleUIConfigurationManager
com.sun.star.task.XInteractionHandler com.sun.star.comp.framework.TaskCreator com.sun.star.ui.XUIConfiguration
com.sun.star.ui.XUIConfigurationManager
ToolbarLayoutManager com.sun.star.ui.ModuleUIConfigurationManager com.sun.star.ui.XUIConfigurationPersistence
m_pToolbarManager
com.sun.star.comp.framework.ModuleUIConfigurationManager
com.sun.star.frame.Desktop
com.sun.star.comp.framework.Desktop com.sun.star.util.XChangesListener
TaskCreatorService com.sun.star.form.XReset
com.sun.star.ui.XAcceleratorConfigurationn

implts_createFrame()
ModuleUIConfigurationManager
AcceleratorCache
Desktop Frame XCUBasedAcceleratorConfiguration
LayoutManager

Desktop though it itself doesn't have a visible frame, is the


root of the frame hiearchy.

XCUBasedAcceleratorConfiguration implements UNO


service for reading and writing keyboard shortcut settings.
TaskCreator

m_xLayoutManager com.sun.star.frame.XLayoutManager
com::sun::star

lcl_LookupTableHelper
i18n

com.sun.star.i18n.XNumberFormatCode
com.sun.star.lang.XServiceInfo com.sun.star.i18n.XLocaleData2
com.sun.star.i18n.NumberFormatMapper com.sun.star.lang.XServiceInfo com.sun.star.i18n.LocaleData
com.sun.star.i18n.NumberFormatCodeMapper

com.sun.star.i18n.XLocaleData LocaleData's getAllFormats() method retreives all number


NumberFormatCodeMapper LocaleData
format information from the appropriate shared library for
specified locale.
com.sun.star.i18n.FormatElement
lcl_LookupTableHelper is used as a static singleton object to
manage locale data retrieval from the shared library. It is used
in LocaleData::getFunctionSymbol().

com.sun.star.i18n.XExtendedCalendar
com.sun.star.lang.XServiceInfo

CalendarImpl xCalendar com.sun.star.i18n.XExtendedCalendar

icu::Calendar
(icu library)

body
com.sun.star.i18n.XNativeNumberSupplier
Calendar_gregorian com.sun.star.lang.XServiceInfo

aNatNum
NativeNumberSupplier

Calendar_buddhist Calendar_gengou
oox

com.sun.star.xml.sax.XFastContextHandler

com.sun.star.xml.sax.XFastDocumentHandler

com.sun.star.xml.sax.XFastTokenHandler
StorageBase

core

Context
FragmentHandler
RelationsFragmentHandler
mxStorage
OleStorage
com.sun.star.document.XExporter
com.sun.star.document.XFilter
com.sun.star.document.XImporter
com.sun.star.lang.XInitialization ZipStorage
RefVector RefMap com.sun.star.lang.XServiceInfo mxStorage
css.embed.XStorage
OStorage

FilterBaseImpl The mxStorage data member of ZipStorage is instantiated by the


comphelper::OStorageHelper::GetStorageOfFormatFromStream() function in its
mxImpl constructor. The implementation class of this interface is OStorage in the package module.

FilterBase

FastTokenHandler
XmlFilterBaseImpl XmlFilterBase mxImpl XmlFilterBaseImpl

com.sun.star.document.XExtendedFilterDetection

AttributeList

FilterDetect

drawingml

chart
ThemeFragmentHandler Transform2DContext
maFormatter ObjectFormatter mxData AxisContextBase
ObjectFormatterData
ConverterRoot
mxData
ConverterData

Theme ppt
ClrScheme

PowerPointImport

LineProperties ConverterBase

FillProperties

Shape GraphicProperties

DataLabelsConverter

DataLabelConverter
com.sun.star.embed.StorageFactory
com.sun.star.comp.embed.StorageFactory com.sun.star.beans.XPropertySet
com.sun.star.embed.XEncryptionProtectedStorage
com.sun.star.embed.XHierarchicalStorageAccess2
com.sun.star.embed.XOptimizedStorage
com.sun.star.embed.XRelationshipAccess
com.sun.star.embed.XStorage2
com.sun.star.embed.XStorageRawAccess
com.sun.star.embed.XTransactedObject
com.sun.star.embed.XTransactionBroadcaster
com.sun.star.lang.XTypeProvider
com.sun.star.util.XModifiable
OStorageFactory

SvRefBase

StorInternalData_Impl
m_pData

OStorage

m_aReadOnlyWrapList StorageHolder_Impl
m_pImpl

m_xPackageFolder
StorageBase css.container.XNameContainer
OStorage_Impl
m_xPackage
css.lang.XSingleServiceFactory com.sun.star.packages.comp.ZipPackage

m_pStorage
Each OStorage_Impl instance represents a
BaseStorage directory inside the package, and recursively
stores its child elements (represented by
SotElement_Impl SotElement_Impl) inside via
m_aChildrenList. The instance of css.io.XInputStream
OStorage_Impl stored in the OStorage css.embed.XExtendedStorageStream
instance is its root directory. The term "storage" css.embed.XRelationshipAccess
is almost synonymous to "directory". css.beans.XPropertySet
PreCreationStruct
UCBStorage Storage Each SotElement_Impl instance represents a
node within the package hierarchy, and if the
node is a directory, it holds a pointer to the
corresponding OStorage_Impl instance. If the
m_pStream node is a file, it holds a pointer to the
referencing stream instance represented by
OWriteStream_Impl. m_xStream css.io.XInputStream
m_aInputStreamsList OInputCompStream

SotObject OWriteStream_Impl
m_aChildrenList
m_aDeletedList

css.io.XSeekable

SotStorage SotStorageStream
m_xPackageStream
OInputSeekStream

css.packages.XDataSinkEncrSupport

ZipPackageStream is the implementation class for this.


css::lang::XInitialization
css::lang::XSingleServiceFactory
css::lang::XUnoTunnel
css::lang::XServiceInfo
css::container::XHierarchicalNameAccess
css::util::XChangesBatch Deflator
css::beans::XPropertySet

CRC32
com.sun.star.packages.Package
com.sun.star.packages.comp.ZipPackage ByteChucker

ZipOutputStream
ZipEntry
EncryptionData com.sun.star.io.XActiveDataStreamer

ZipPackage ZipPackageSink

ActiveDataStreamer
ZipEnumeration
m_pZipFile

xStream
xSeek
ZipFile
css.io.XInputStream
css.io.XSeekable

mxZipStream
css::io::XInputStream
mxZipSeek
createUnbufferedStream()
com.sun.star.io.XInputStream
com.sun.star.io.XOutputStream
com.sun.star.io.XSeekable
XUnbufferedStream

ZipPackageBuffer

m_pRootFolder

m_pZipFile

css.container.XNamed
css.container.XChild
css.lang.XUnoTunnel
css.beans.XPropertySet
css.lang.XServiceInfo

com.sun.star.packages.zip.ZipFileAccess
com.sun.star.comp.packages.zip.ZipFileAccess com.sun.star.container.XEnumeration
com.sun.star.lang.XServiceInfo
ZipPackageEntry

css.package.Zip.XZipFileAccess2

ZipPackageFolderEnumeration

com.sun.star.container.XNameContainer
com.sun.star.container.XEnumerationAccess

OZipFileAccess

Provides read-only access


to zip content. ZipPackageFolder

maContents

css.io.XActiveDataSink
css.packages.XDataSinkEncrSupport

ZipContentInfo

ZipPackageStream
Digest_Impl

DigestMD5_Impl

DigestContextMD5

These four function pointers are


assigned to members of
Cipher_Impl during call to
rtl_create_cipherARCFOUR.

rtl_cipher_initARCFOUR

rtl_cipher_encodeARCFOUR
CipherARCFOUR_Impl Cipher_Impl
rtl_cipher_decodeARCFOUR

rtl_cipher_destroyARCFOUR

ContextARCFOUR_Impl

These four function pointers are


assigned to members of
Cipher_Impl during call to
rtl_create_cipherBF.

rtl_cipher_initBF

rtl_cipher_encodeBF
CipherBF_Impl Cipher_Impl
rtl_cipher_decodeBF

rtl_cipher_destroyBF

CipherContextBF

ImplTextConverterData ImplByteConvertData

ImplConvertToUnicodeProc ImplCharToUnicode

mpConvertTextToUnicodeProc

ImplConvertToTextProc

ImplCreateTextContextProc
ImplTextEncodingData maConverter
ImplTextConverter
Impl_getTextEncodingData
ImplDestroyTextContextProc

Each text encoding has an instance of ImplTextEncodingData to store data necessary


to handle the encoding. Calling Impl_getTextEncodingData() with an encoding ID
returns a pointer to the ImplTextEncodingData instance. ImplResetTextContextProc

ImplTextConverter contains one void pointer of type ImplTextConverterData to the


instance that stores arbitrary data needed for the handler, as well as 8 function pointers.
ImplCreateUnicodeContextProc
The void pointer stores an instance of type ImplByteConvertData which stores char-to-
unicode conversion table used in e.g. ImplCharToUnicode().

ImplDestroyUnicodeContextProc

ImplResetUnicodeContextProc
css.xml.sax.XFastDocumentHandler
com.sun.star.xml.sax.XFastParser
com.sun.star.xml.sax.FastParser
com.sun.star.xml.sax.XFastAttributeList css.xml.sax.XFastTokenHandler

ParserData
FastTokenHandlerBase

sax_fastparser maData css.xml.sax.XErrorHandler

FastSaxParser css.xml.sax.XEntityResolver
FastAttributeList
css.xml.sax.XFastNamespaceHandler
mpImpl
maEntities

Entity
FastSaxParserImpl maNamespaceStack NameWithToken

mxDocumentLocator
maContextStack
SaxContext

FastLocatorImpl Event

NamespaceDefine

sax_expatwrap

com.sun.star.xml.sax.XParser
com.sun.star.xml.sax.Parser com.sun.star.lang.XServiceInfo

SaxExpatParser com.sun.star.xml.sax.XDocumentHandler
rDocumentHandler

m_pImpl rExtendedDocumentHandler com.sun.star.xml.sax.XExtendedDocumentHandler

rAttrList
SaxExpatParser_Impl com.sun.star.xml.sax.XAttributeList
rDocumentLocator
com.sun.star.xml.sax.XLocator

SaxExpatParser_Impl
implements static callbacks to
the expat library.
ScAccessibleContextBase

ScPrintRangeData
ScPageBreakData ScAccessibleDocumentBase
ScPrintFunc

ScAccessibleTableBase

ScAccessibleCellBase
TabBar ScAccessibleDataPilotButton
SfxShell ScAccessibleDataPilotControl
com.sun.star.accessibility.XAccessibleSelection
DropTargetHelper com.sun.star.view.XSelectionChangeListener SfxItemPool
ScAccessibleCsvControl

DropSourceHelper
ScAccessibleEditObject ScAccessiblePreviewCell
Topmost window accessibility SfxStyleSheetPool
instance Window TransferableHelper ScDocumentPool
GetFrameWin() AccessibleStaticTextBase
ScTabControl Window
ScStyleSheetPool
GetDocPool()
SelectionEngine ScHeaderControl
ScTransferObj ScAccessibleDocument mpAccessibleSpreadsheet
SfxViewShell ScAccessibleSpreadsheet GetStylePool() SvNumberFormatter
ScAccessibleCsvCell
ScViewSelectionEngine GetFormTable() ScEnginePoolHelper EditEngine

ScColBar ScPoolHelper
mpChildrenShapes
ScPreview GetEditPool() SfxItemPool
GetPreview() ScEditEngineDefaulter
ScPreviewShell ScTabView
ScRowBar ScAccessibleCell
ScOutlineWindow DragTargetHelper SvxEditSource GetEnginePool()
CreateAccessible() ScChildrenShapes SfxHint
SfxItemPool
FmFormView
ScTabSplitter DragSourceHelper
ScSharedCellEditSource SfxSimpleHint
pDrawView Window
ScDrawView ScHint
ScConversionEngineBase
ScDrawStringsVar
ScUnoEditEngine
FunctionSet
SvtBroadcaster
ScHeaderEditEngine
ScTabEditEngine ScSpellingEngine ScTextConversionEngine
ScViewFunctionSet DrawStrings() SfxListener ScConditionEntry
ScNoteMarker

ScTabView holds up to 4 instances of ScGridWindow, ScCellTextData SvxUnoTextCursor


FmFormView
one for each split pane when the view is split. xPoolHelper
ScGridWindow pDrawView
ScOutputData ScCondFormatEntry
Draw() ScValidationData

ScCellTextCursor
ScViewFunc FloatingWindow ScFilterFloatingWindow represents the outer
system window on which the list box is drawn.
ScFilterListBox represents the list box inside of that
window.
ScFilterFloatingWindow ScValidationDataList
ListBox ScFieldEditEngine

aComboButton
ScDBFunc
ScFilterListBox ScChartPositionMap
pPositionMap
ScChartPositioner
ScDDComboBoxButton GetEditEngine()
GetViewData() mpEditEngine ScChartArray
ScChartPositionMap stores the on-
ScDDComboBoxButton draws autofilter's sheet positions of column and row
SfxViewShell arrow box at a specified cell position. headers as well as data ranges as arrays
of cell addresses.

ScNoteEditEngine
ScEditShell

ScTabViewShell ScInputHandler
GetInputHandler() ScBulkBroadcast
ScFormatShell
ScInputWindow
SfxItemPool ScBroadcastAreasBulk
pNoteItemPool
ScInputHandler handles cell input when a cell is in input
mode (i.e. a cursor is blinking inside a cell waiting for ScUserList
keyboard input). It has method called ScBroadcastArea
ScUserListData
InitRangeFinder() which takes care of drawing outlines
of references if the input is a formula expression
GetViewShell() involving references.
GetViewData() GetDocument()
ScBroadcastAreaSlotMachine ScBroadcastAreaSlot
ScProtectionAttr
ScCellShell

ScViewDataTable

ScChartListenerCollection
ScChartListener ScRangeList

ScChartCollection
ScTypedStrData ScOutlineDocFunc
AutoTimer
ScDocument ScDPCollection

ScRefreshTimer
ScViewData ScDBName

ScRefreshTimerControl
SfxListener ScDBCollection
SfxObjectShell
ScDBData
ScRangePairList
SfxListener
ScChangeActionTable
ScRangeName ScRangeData
GetDocShell() ScAreaLink AreaLink_Impl
GetUndoManager() SfxUndoManager
sfx2
Enum ScDocumentMode ScChangeTrack LinkManager SvBaseLink
controls three modes for GetLinkManager()
ScDocShell ScDocument instance – SvtBroadcaster
ScAutoStyleList
ScFormatFilterPlugin DOCUMENT, CLIP and UNDO.
EditView
GetSheetSaveData() SvxLinkManager
ScViewData has 4 FmFormModel
ScSheetSaveData
instances of SdrObjUserData
EditView, one for FmFormPage
GetDrawLayer() ScDdeLink
each of the four ScFormatFilterMissing ScDrawLayer
split panes. ScSheetSaveData caches ods
XML stream data and in order to
reuse it for non-modified sheets. ScDrawPage
ScDrawObjData
ScDocShell holds an instance of SfxObjectFactory, which can
be accessed via ScDocShell.Factory(). Each top-level GetExternalRefManager()
application object has the Factory() method for access to the ScFormatFilterPluginImpl
SfxObjectFactory instance, which is embedded in the class via maTables ScExternalRefCache::Table
macro called SFX_IMPL_OBJECTFACTORY.
ConvertTo()
maTableNames
ScExternalRefManager ScExternalRefCache::TableName
ScEEAbsImport
pTab maRefCache ScChangeAction
ScExternalRefCache::TableNameIndexMap
maDocs ScExternalRefCache::DocItem
ScExternalRefCache
ScEEImport mpParser ScExternalRefCache::RangeNameMap
ScEEParser
ScOutlineArray ScOutlineCollection
pEdit EditEngine ScOutlineTable ScExternalRefCache::RangeArrayMap

ScDBDocFunc ScExternalRefCache::NamePairMap ScChangeActionContent


ScImportExport ScChangeActionIns ScChangeActionReject
RTF2Doc()
GetDocOptions() ScTableInfo is always instantiated
ScRTFImport locally and is never stored persistently. ScChangeActionDel ScChangeActionMove
ScTable ScDocument::FillInfo() is called to
HTML2Doc() fill ScTableInfo instance at each use
ScHTMLParser case, from various cell attributes.

ScHTMLImport SfxSetItem

ScTableInfo RowInfo CellInfo


SfxPoolItem
ScPatternAttr stores all attributes of an individual
ScHTMLLayoutParser
cell or cell range, such as the cell number format,
ScAttrArray ScPatternAttr borders etc.
ScAttrEntry
ScViewOptions
theOptions ScColumn
ScTpPrintItem ScTpViewItem
ScDocOptions

theOptions
ScHTMLTable theOptions
ScTpCalcItem pRowHeight
mpCurrTable
SfxModule ScTable keeps track of cells with uninitialized notes i.e. notes whose drawing objects
ScCompressedArray have not yet been created. ScCaptionInitData struct holds all necessary data while the
ScHTMLQueryParser ScPrintOptions pRowFlags
ScExtDocSettings note object is uninitialized.
mxGlobTable
ScHTMLGlobalTable
ScExtDocOptions ScPostIt::CreateCaptionFromInitData() method is where the drawing objects
representing the notes get created from the initialized data, after which the uninitialized
utl data get destroyed.
ScPrintCfg ConfigItem
ScExportBase
ScDocCfg ScSummableCompressedArray

ScModule
ScCaptionInitData
ScLinkConfigItem ScBitMaskCompressedArray
ScHTMLExport ScRTFExport
ScNoteData
ScAppOptions
ScPostIt SdrCaptionObj
ScDll ScExtTabSettingsCont ScTable holds row flags in an instance of
ScBitMaskCompressedArray, and row heights
ScFunctionMgr ScInputOptions
ScAppCfg in ScSummableCompressedArray. These two ScToken
ScExtTabSettingsCont is ScExtTabSettings classes are in fact constructed only in ScTable
a container class that class.
manages multiple
ScSizeDeviceProvider is always used as a local ScInputCfg instances of
sc
List ScFuncDesc instance (a.k.a. stack variable), to query for a current ScExtTabSettings.
ScFunctionList
drawing device, pixel per twip for both X and Y
directions. FormulaGroupInterpreter

ScSizeDeviceProvider
ScDocCfg stores three data members of type
ScLinkConfigItem for various groups of SvtListener
document properties. ScRefListToken ScStringToken
ScGlobal
When the ScDocCfg instance is constructed, ScFormulaResult ScDoubleRefToken
FormulaGroupInterpreterDummy
those ScLinkConfigItem members get ScMatrixToken ScSingleRefToken
constructed. Each ScLinkConfigItem instances ScJumpMatrixToken
ScDoubleToken ScErrorToken
then fetches their respective configuration data
from the configuration manager upon ScMatrixCellResultToken ScOpToken
ScDocumentLoader FormulaGroupInterpreterSoftware ScEmptyCellToken
construction. ScHybridCellToken
ScFormulaCell
ScInterpreter
opencl
List
OpenclDevice GPUEnv ScMatrixFormulaCellToken

ScExternalToken ScJumpToken
ScRangeListBase SvRefBase FormulaGroupInterpreterOpenCL
ScByteToken ScSingleRefOpToken

ScIndexToken ScMissingToken ScUnknownToken


OclCalc ScDoubleRefOpToken
kEnv KernelEnv ScStringOpToken ScFAPToken
ScRangeList

SourceData

FormulaGroupInterpreterGroundwater

ScCompiler

pConventions

ScCompiler::Convention

InitSymbolsNative()
InitSymbolsEnglish() ScCompiler::OpCodeMap
InitSymbolsPODF()
InitSymbolsODFF() Convention_A1 ConventionXL
Resource

ConventionOOO_A1 ConventionXL_A1 ConventionXL_R1C1


ScOpCodeList

ScOpCodeList queries the localized ConventionOOO_A1_ODF


function name strings to build the string-to-
token maps represented by
ScCompiler::OpCodeMap. ScCompiler
uses ScOpCodeList locally to build the ComplRefData
OpCodeMap instances.
com.sun.star.beans.XPropertySet
com.sun.star.chart2.data.XDataSequence
com.sun.star.chart2.data.XNumericalDataSequence
com.sun.star.chart2.data.XTextualDataSequence
com.sun.star.lang.XServiceInfo
com.sun.star.chart2.data.XDataProvider com.sun.star.chart2.data.XDataSource com.sun.star.util.XCloneable
com.sun.star.chart2.data.XRangeXMLConversion com.sun.star.lang.XServiceInfo com.sun.star.util.XModifyBroadcaster

com.sun.star.chart2.data.DataSequence
com.sun.star.chart2.data.DataProvider com.sun.star.chart2.data.DataSource

com.sun.star.chart2.data.XLabeledDataSequence
ScChart2DataSource
createDataSource()
ScChart2DataSequence
ScChart2DataProvider

Class ScChart2DataProvider instantiates ScChart2DataSource and


returns it as com.suns.star.chart2.data.XDataSource via
createDataSource() method.
IAnyRefDialog

ScRefHandler

ScFormulaReferenceHelper
ScRefHdlrImplBase

TabPage ScLinkedAreaDlg implements the “External Data”


ScRefHdlrImpl dialog in Insert - Link to External Data. ScSubTotalDlg implements the main dialog for the
Subtotals feature.

SvTreeListBox ModalDialog
ScAnyRefDlg ScTpSubTotalGroup1
ScFuncPage

ScStructPage ScStructListBox
ScTpSubTotalGroup2
ScConditionalFormatDlg
ValWnd ScLinkedAreaDlg
ScFormulaDlg ScSubTotalDlg
ScPrintAreasDlg ScRefEdit
ScTpSubTotalGroup3
ScTabOpDlg
ArgEdit
ScDbNameDlg Multiple Operations ScParaWin
dialog ScTpSubTotalOptions
Window ScFormulaUtil ArgInput
Database Range
dialog ScNameDlg Function wizard
ScSolverDlg dialog
Defined name dialog. Defined names are also known
as named expressions or named ranges.
ScConsolidateDlg SfxAbstractTabDialog
ScNavigatorDlg
SfxTabDialog

ScAbstractDialogFactory AbstractTabDialog_Impl

ScSimpleRefDlg SvxNumberFormatTabPage

ScSortDlg
ScFilterDlg SvxCharNamePage
ModalDialog ScAbstractDialogFactory_Impl
Standard filter ScFilterOptionsMgr
dialog SvxCharEffectsPage
ScAbstractDialogFactory is just an abstract class while
ScAbstractDialogFactory_Impl implements all of its
ScSpecialFilterDlg parent class'es pure virtual methods.
AlignmentTabPage
ScInsertContentsDlg
An instance of ScAbstractDialogFactory_Impl gets
Advanced filter dialog ScAttrDlg
exported outside the shared library space via
ScInsertContentsDlg implements the paste CreateDialogFactory() call. SvxAsianTabPage
special dialog.

SfxTabPage SvxBorderTabPage
ComboBox SfxListener
ScColRowNameRangesDlg
SvxBackgroundTabPage SfxTabPage
ScAttrDlg implements
the cell format dialog.
Define Label Rage dialog in Insert > Names >
ScTpContentOptions ScPosWnd
Labels...

ToolBox ScPosWnd implements the range name


ScTpCalcOptions input box located to the left of the formula ScTabPageProtection
input box, above the sheet area.

com.sun.star.beans.XPropertyAccess ScInputWindow ScTextWndBase


com.sun.star.document.XExporter Control
com.sun.star.document.XImporter
com.sun.star.lang.XServiceInfo
com.sun.star.ui.dialogs.XExecutableDialog
ScCsvControl
WarningBox
mpEditEngine ScEditEngineDefaulter

ScTextWnd
maTextWnd
AbstractScImportAsciiDlg ScCsvRuler mpEditView
ScInputBarGroup EditView
ScFilterOptionsObj
ScCbWarningBox
ScCsvGrid
ScCsvTableBox
ScImportAsciiDlg ScCsvLayoutData

ScReplaceWarnBox
ScCsvColState
XclRootData

XclExpStream

ScDataObject

XclChRootData
XclChObjectTable RootData
ExcRoot
XclExpString

XclCryptoHelper ScCollection
XclExpCompConfig
XclImpDecryptHelper
XclExpCompData
ShrfmlaBuffer
XclExpRefLog XclExpRefLogEntry
XclFunctionInfo
XclImpDecrypter is used
XclExpFormulaCompiler encapsulated within ScfRef, and is
XclRoot GetMedium() typedef'ed to XclImpDecrypterRef.
mxImpl SfxMedium

XclExpFmlaCompImpl XclImpDecrypter
XclExpTokenData
TokenPool
XclExpExtFuncData
GetNameManager() XclExpChRootData
XclExpNameManagerImpl XclExpName XclImpBiff5Decrypter XclImpBiff8Decrypter TokenStack
XclExpNameManager ConverterBase

XclExpRootData

XclPCItem

XclExpRecordBase has one virtual method called Save that is to be XclPTVisNameInfo stores custom names for fields and field members. NOTE: The vast majority of XclImp* classes inherit from
overwritten by the child class to perform exporting of the record XclPTVisNameInfo makes available GetVisName(), HasVisName() and XclImpRoot either by public or protected inheritance, but their
block. SetVisName() member methods for its child classes to access the custom inheritance is not necessarily drawn in this diagram for tidyness'
name of a field. sake.
XclExpRecordBase
XclExpRoot XclExpPCItem XclImpPCItem
XclImpRoot
maVisName XclPTCachedName
ExportTyp XclPTVisNameInfo
XclPCField

Biff8RecDumper
ExcelConverterBase
XclPTDataFieldInfo
XclExpWebQuery XclExpPCField
QProToSc
ExportWK1 XclPTFieldInfo

ExportBiff5 XclImpChangeTrack

XclPTItemInfo LotusConverterBase

XclExpTabInfo
ExportBiff8
ExcTable

ExcTableList
XclExpCellTable ExcDocument
ExcBoundsheetList
XclImpDocViewSettings ExcelToSc

XclImpPageSettings

XclDocViewData XclImpStream Biff8RecDumper

ImportTyp
ExcelToSc8
XclExpPageSettings

XclImpWebQueryBuffer
ImportExcel GetColOutline() XclImpOutlineBuffer
XclExpTabViewSettings
GetRowOutline()
XclImpOutlineListBuffer XclImpChTrFmlConverter
XclImpOutlineDataBuffer GetColRowBuff() XclImpColRowSettings

XclImpRootData

ImportExcel8

XclPTFieldExtInfo

XclImpPTField
XclExpRecordList XclExpLinkManager mxImpl XclExpLinkManagerImpl
XclExpLinkManagerImpl5 maItems XclImpPTItem

XclExpRowOutlineBuffer
maFieldInfo XclPCFieldInfo

XclExpWebQueryBuffer
XclExpDimensions XclTabViewData XclImpPCField
XclExpRowBuffer XclImpTabViewSettings
maFields maFields

XclExpXti XclExpXti stores SUPBOOK record index, and the


XclExpLinkManagerImpl8 XclImpPivotCache
indices of the first and the last sheets in that SUPBOOK. GetFormulaCompiler() XclImpDrawObjBase
These data are written into the EXTERNSHEET record.
maPCInfo XclPCInfo

XclImpPivotTableManager mxPCache
XclExpSupbookBuffer::XclExpSBIndex
XclImpArcObj
XclExpSupbookBuffer keeps a list of XclExpSBIndex
XclExpSupbookBuffer instances to keep track of all used supbook/sheet pair.
XclExpSubStream XclImpPivotTable
represents a complete
substream starting and
ending with BOF and EOF
records, respectively. XclImpLineObj XclImpGroupObj
XclExpSubStream
XclExpRecord expects the derived class to overwrite the WriteBody method, which it calls in its own
Save method. Deriving from this class eliminates the need to write the record header and calculate
XclImpPhObj
the size of the record block, although calculating the size before the Save call will optimize the write XclFunctionProvider
XclImpFmlaCompImpl XclImpRectObj
process. mxImpl
XclImpFormulaCompiler
XclExpRecord
XclExpExtNameBuffer
XclImpControlHelper
XclImpTextObj
XclExpDummyRecord
XclExpExternSheetBase
XclExpExtNameBase
XclExpRow XclExpWindow1
XclImpExtName XclImpTbxObjBase XclImpPictureObj
XclExpCellBase
XclImpSupbook
XclExpExternSheet
XclImpLinkManager
XclImpSupbookTab XclImpCrn
XclExpBoolRecord XclExpExtNameAddIn XclExpExtNameDde
XclExpMultiCellBase XclExpWindow2
XclImpXti
XclImpTbxObjScrollableBaseObj
XclImpButtonObj XclImpDialogObj
XclExpDocProtection XclRefMode

XclExpWindowProtection XclExpRkCell XclExpSupbook XclImpCheckBoxObj XclImpGroupBoxObj


XclExpXct XclExpCrn XclImpDrawing XclImpSpinButtonObj
XclImpEditObj
XclExpSingleCellBase XclExpBlankCell
XclImpObjectManager XclImpLabelObj XclImpScrollBarObj
XclExpCrnBool XclExpCrnString
XclImpSheetDrawing XclImpTbxObjListBase
XclExpBooleanCell XclExpNumberCell XclExpCrnDouble

XclExpErrorCell XclExpLabelCell XclExpSupbook represents a single SUPBOOK record, and XclImpChartObj is the drawing object wrapper for the XclImpChGroupBase XclImpDropDownObj
contains data for an external document (URL, sheet names, chart object. XclImpListBoxObj
external values etc). It contains multiple instances of
ScFormulaCell XclExpXct, which represents XCT records. XclChAreaFormat XclImpChart represents an entire chart substream,
that is, all records between BOF and EOF.
Each XclExpXct instance in turn contains multiple instances of
XclExpFormulaCell NOTE: Like XclImpRoot, XclImpChRoot is inherited by
XclExpCrn to write CRN records. XclExpXct also stores the XclImpChChart represents the CHCHART record
XclTokenArray most of the XclImpCh* classes, but their inheritance
sheet name, sheet index in the SUPBOOK record, and the XclImpChartObj XclChLineFormat group that describes chart's content. It has the
addresses of all contained cells. Convert() method that converts the stored Excel relationship is not necessarily depicted here.
XclImpChFrameBase
XclExpFormulaCell builds an array of tokens and stores chart data into chart2 document model. Because the
XclExpChangeTrack
it into the XclTokenArray instance by using the Excel XclExpCrn is a base class for three child classes that represent chart2 document is entirely a UNO component,
formula compiler class (XclExpFormulaCompiler). the boolean, double, and string data types of the CRN record. populating the model is done entirely via UNO API XclImpChRoot
XclObj XclImpChRootData
XclExpCrn requires its child class to overload the calls.
WriteAddData() virtual method to write the actual bytes to the
stream. mxChart
ExcRecord XclImpChartDrawing

XclObjOle
XclImpChart

XclObjAny XclExpTbxControlObj
ExcEmptyRec XclChRectangle
XclObjDropDown XclExpChTrActionStack

XclObjComment XclTxo ExcDummyRec


maProps XclChProperties
XclExpOcxControlObj
ExcBoolRecord XclExpChTrTabId
XclExpChTrAction mxPrimAxesSet
mxChartData mxSecnAxesSet
ExcBundlesheetBase XclImpChAxesSet
GetTypeGroup()
XclExpChartPageSettings EscherEx
XclMsodrawing_Base XclImpChChart XclImpChTypeGroup
XclExpChSourceLink XclImpChFontBase
XclEscher XclExpChTrInsert mxXAxis
XclEscherEx XclExpChTrInsertTab XclChType
ExcBundlesheet ExcBundlesheet8 mxYAxis maData
XclExpChartObj XclExpChart XclExpText XclExpChTrData XclImpChDataFormat mxZAxis XclImpChType
pOldData XclImpChFrame XclImpChEscherFormat
maTypeInfo
XclExpChText XclExpChTrMoveRange XclChTypeInfo
ExcBof_Base XclExpChTrData XclImpChSerErrorBar XclImpChSourceLink
pNewData
XclImpChAxis
XclExpChChart XclExpChTrCellContent
mxValueRange XclChType is a struct that stores the content of a
XclImpChValueRange chart type record. XclImpChLabelRange XclImpChSerTrendLine XclImpChTick
XclMsodrawing ExcBof8_Base XclImpChText
List XclChTypeInfo is also a struct but the values of its
members are read from a global static array
XclImpChLegend XclImpChDropBar XclImpChAttachedLabel
XclMsodrawinggroup (spTypeInfos) that holds hard-coded data for all
mxPrimAxesSet chart types.
mxSecnAxesSet XclObjList ExcBof8 ExcBofC8 ExcBofW8
XclImpChChart contains two instances of
XclImpChAxesSet, one for the primary and the
ExcBof8 - BOF for sheet XclChSeries other for the secondary axis.
XclExpChAxesSet ExcBofC8 - BOF for chart (not used at the
moment) XclImpChSeries In turn, XclImpChAxesSet holds three instances
ExcBofW8 - BOF for workbook of XclImpChAxis for X, Y, and Z axes.
TokenStack
XclImpChDataFormat
XclExpChTypeGroupBase

XclImpChSourceLink

XclExpChType
XclExpChTypeGroup maType
oox

core

FragmentHandler2

xls

ExcelFilter getFormulaBuffer()
FormulaBuffer

WorkbookGlobals

FormulaContext

mrBookGlob
WorkbookHelper

ArrayFormulaContext SimpleFormulaContext

IWorksheetProgress
CellFormulaContext

WorksheetHelper ExtCellFormulaContext ExtCellFormulaContext is


mainly to deal with shared
mrSheetGlob formulas.
WorksheetGlobals
FormulaParserImpl uses this class in
finalizeImport() method. This class processes
the formula tokens to convert them from Excel's
FormulaParser format into Calc's. It does some heavy-handed
token conversion internally.
FormulaParserImpl TokenArrayFinalizer

maSheetData FunctionInfo
FunctionProvider FunctionProviderImpl
FunctionData
Provides access to
function info structs for all FuncInfoParamClassIterator
available functions.
WorkbookFragmentBase

SheetDataBuffer OoxFormulaParserImpl OpCodeProvider

WorkbookFragment
WorksheetContextBase
ApiParserWrapper mxParser com.sun.star.sheet.XFormulaParser
WorkbookFragment::finalizeImport() is a good place to
mrSheetData go to figure out the life cycles of WorksheetFragment
and WorksheetGlobals.

SheetDataContextBase
CellModel

CellFormulaModel

SheetDataContext
ScDataPilotSourceTypeDlg implements
the source selection dialog for DataPilot
table.
ScDataPilotSourceTypeDlg

ScDPSaveData stores DataPilot table's option settings, such ScDPSaveMember


as Ignore empty rows. ScDPSaveDimension and GetMembers()
ScDPSaveMember store settings for individual dimensions (or
fields) and their constituent members' settings.

These classes store settings that are read directly from the com.sun.star.sheet.DataPilotFieldLayoutInfo
DataPilot dialogs, but those settings do eventually get written pLayoutInfo
to the ScDPSource instance and its members ScDPSaveDimension
(ScDPDimensions and its whose hierarchy) via pAutoShowInfo com.sun.star.sheet.DataPilotFieldAutoShowInfo
ScDPSaveData::WriteToSource(). During calculation, those
settings in the source instance is used to calculate the final pSortInfo
aDimList com.sun.star.sheet.DataPilotFieldSortInfo
results.
pReferenceValue SfxShell
com.sun.star.sheet.DataPilotFieldReference

ScDPSaveData ScDPSaveGroupItem
ScDPSaveGroupItem
GetSaveData()
ScDPSaveGroupDimension ScPivotShell
GetExistingDimensionData()
GetDimentionData()
ScDPDimensionSaveData
ScDPNumGroupInfo
GetDPServiceDesc() ScDPServiceDesc GetInfo()

ScDPSaveNumGroupDimension GetDateInfo()
ScSheetSourceDesc has the source
ScSheetSourceDesc range and the query parameters.
GetSheetDesc()
ScDPObject
ScDPResultData
GetImportSourceDesc() ScImportSourceDesc

pOutput
ScDPOutput

ScDPOutLevelData ScDPItemData

ScDPOutLevelData is used to store data on


column, row, page fields associated with a ScDPItemData is used as a single “cell” data,
data pilot output. ScDPOutput stores an which has a string value, a numerical value,
array pointer to each field instance, and for and a boolean flag of whether or not the value
now 256 of them are statically allocated on is numerical. It is used throughout the
ScDPOutput construction. DataPilot code base to store a single cell
data.

ScDPDataMember
maMembers

ScDPDataDimension
ScDPSource::FillMemberResults() populates the pivot ScDPResultData
table output data hierarchy. ScDPLayoutDlg represents the main datapilot ScDPValueData
pResData
dialog where the users drag field buttons to row,
ScDPResultData is the central bucket that stores data column, page and data field boxes to define the
shared across all result data objects. ScDPSource ScDPDataMember ScDPResultDimension overall layout of the table. It has four instances of
holds an instance of ScDPResultData, and two ScDPPositionData
ScDPFieldWindow class to draw each field box,
GetSource() instances of ScDPResultMember, one for column result pChild ScDPAggData and another instance to draw the area where all field
ScDPAggData
(pColResRoot), and the other for row result names are displayed.
(pRowResRoot). These instances all get constructed pDataRoot ScDPDataDimension holds (const) pointers to ScDPResultDimension and
within the CreateRes_Impl() method. The instance of ScDPAggData is a single-linked list. ScDPResultData instances, and these pointer values are passed on from Control
ScDPResultData gets passed around to other parts of aColTotal somewhere else, most likely from ScDPSource. ScDPDataDimension ScDPSubTotalState
the code, but it is the ScDPSource instance that itself does not instantiate any ScDPResultDimension nor ScDPResultData ScAnyRefDlg
com.sun.star.beans.XPropertySet instances.
com.sun.star.lang.XServiceInfo manages its life time.
ScDPResultMember ScDPDateGroupDlg
com.sun.star.sheet.XDataPilotResults maMemberArray ScDPResultMember ScDPShowDetailDlg
A new instance of ScDPResultData gets created every ScDPResultDimension
com.sun.star.sheet.XDimensionsSupplier pChildDimension
time a result is computed. The old instance gets ScDPFieldWindow
com.sun.star.util.XRefreshable
destroyed (via ScDPSource::disposeData() method)
ScDPFunctionDlg ScDPColMembersOrder
before the new instance gets created. An instance of ScDPResultDimension is constructed
when ScDPResultMember::LateInitFrom() gets
ScDPParentDimData
called.
ScDPLayoutDlg
ScDPTableIteratorParam
pColResRoot ScDPInitState
pRowResRoot
ScDPFunctionListBox ScDPRowMembersOrder
ScDPFuncData ScDPGlobalMembersOrder
ScDPCache
ScDPTableData mpCache
mpNonCache NotifyDoubleClick() ScDPRowTotals
ScDPFilteredCache
ScDPRelativePos
ScDPSubtotalOptDlg ScDPRunningTotalState
ScDPSource pData ScDPSubtotalDlg ScDPGetPivotDataField

ScSheetDPData

pColResults com.sun.star.sheet.MemberResult ScDatabaseDPData


pRowResults
ScDPGroupTableData maintains one ScDPLabelData
instance of ScDPGroupDimension LabelData ScDPDateGroupEditHelper
ScDPSource uses List class to store multiple pointers to ScDPLevel. ScDPGroupItem keeps one
for each applied grouping.
ScDPItemData single instance of
ScDPGroupTableData ScDPSubtotalDlg represents the first dialog that
ScDPGroupItem ScDPItemData for group name,
and one multiple instances of pops up when double-clicking a field button, where
ScDPGroupDimension ScDPGroupEditHelper
ScDPItemData for the names of you choose the subtotal function for that field.
ScDPItemData items in the original dimension.
ScDPSubtotalOptDlg represents the additional ScDPNumGroupDlg
ScDPDateGroupHelper dialog that launches when you click on the Options
button in the first dialog, where you specify the ScDPGroupCompare
sorting, display options, auto-show, and hide items ScDPNumGroupEditHelper
ScDPNumGroupDimension
options.

ScDPNumGroupInfo

getDimensions()
GetDimensionsObject()
aColLevelList
aRowLevelList

com.sun.star.beans.XPropertySet
com.sun.star.container.XNamed
com.sun.star.container.XNameAccess
com.sun.star.lang.XServiceInfo
com.sun.star.lang.XServiceInfo
com.sun.star.sheet.XDataPilotMemberResults
com.sun.star.sheet.XHierarchiesSupplier com.sun.star.sheet.XMembersSupplier
com.sun.star.container.XNamed
com.sun.star.util.XCloneable
com.sun.star.beans.XPropertySet com.sun.star.container.XNameAccess com.sun.star.container.XNamed
ScDPDimensions com.sun.star.lang.XServiceInfo com.sun.star.lang.XServiceInfo com.sun.star.beans.XPropertySet
com.sun.star.lang.XServiceInfo

com.sun.star.container.XNameAccess GetMembersObject()
com.sun.star.lang.XServiceInfo ScDPMembers
ScDPMember

ScDPDimension
com.sun.star.sheet.DataPilotFieldLayoutInfo ScDPMember has member's visibility
information, order in case of manual sorting, and
GetAutoShow()
flag to determine whether or not to show details.
ScDPDimension provides its number com.sun.star.sheet.DataPilotFieldAutoShowInfo
format information via property GetHierarchiesObject() ScDPLevel GetSortInfo()
NumberFormat.
com.sun.star.sheet.XLevelsSupplier com.sun.star.sheet.DataPilotFieldSortInfo
com.sun.star.container.XNamed
ScDPHierarchies com.sun.star.lang.XServiceInfo

com.sun.star.container.XNameAccess
com.sun.star.lang.XServiceInfo

ScDPHierarchy
GetLevelsObject()
ScDPLevels
com.sun.star.sheet.XNamedRange com.sun.star.lang.XServiceInfo
com.sun.star.sheet.XFormulaTokens com.sun.star.lang.XUnoTunnel
com.sun.star.sheet.XCellRangeReferrer com.sun.star.sheet.XHeaderFooterContent
com.sun.star.beans.XPropertySet
com.sun.star.lang.XServiceInfo

com.sun.star.container.XContainer
com.sun.star.container.XEnumerationAccess
com.sun.star.container.XIndexAccess
com.sun.star.lang.XServiceInfo
com.sun.star.util.XRefreshable
ScNamedRangeObj

com.sun.star.container.XEnumerationAccess
ScHeaderFooterContentObj
com.sun.star.lang.XServiceInfo
com.sun.star.text.XText
com.sun.star.text.XTextFieldsSupplier
com.sun.star.text.XTextRangeMover

getLeftText()
getCenterText()
ScCellRangesBase getRightText()
ScHeaderFieldsObj
getTextFields()

com.sun.star.container.XContainer ScHeaderFooterTextObj
ScCellRangeObj ScCellRangesObj com.sun.star.container.XEnumerationAccess
com.sun.star.container.XIndexAccess
EditTextObject
com.sun.star.lang.XServiceInfo
com.sun.star.text.XTextField com.sun.star.util.XRefreshable mpTextObj
com.sun.star.beans.XPropertySet com.sun.star.sheet.XAreaLink com.sun.star.text.XText
com.sun.star.lang.XUnoTunnel com.sun.star.util.XRefreshable com.sun.star.container.XEnumerationAccess ScHeaderFooterTextData
com.sun.star.beans.XPropertySet SvxEditSource
com.sun.star.lang.XServiceInfo com.sun.star.table.XCell
com.sun.star.lang.XServiceInfo com.sun.star.sheet.XFormulaTokens
ScTableRowObj
com.sun.star.sheet.XCellAddressable
com.sun.star.sheet.XAreaLinks com.sun.star.sheet.XSheetAnnotationAnchor
com.sun.star.container.XEnumerationAccess com.sun.star.text.XTextFieldsSupplier
com.sun.star.lang.XServiceInfo ScAreaLinkObj com.sun.star.document.XActionLockable ScCellFieldsObj
ScHeaderFooterEditSource

ScCellFieldObj

getByIndex()
ScAreaLinksObj ScCellTextData
SvxUnoText
getTextFields() ScCellEditSource
ScEditFieldObj
ScCellCursorObj
ScCellTextObj

com.sun.star.container.XNamed ScHeaderFieldObj
com.sun.star.drawing.XDrawPageSupplier GetUnoText()
com.sun.star.sheet.XCellRangeMovement
ScDocShell com.sun.star.sheet.XDataPilotTablesSupplier
com.sun.star.sheet.XPrintAreas ScCellObj
com.sun.star.sheet.XScenario
com.sun.star.sheet.XScenarioEnhanced
com.sun.star.sheet.XScenariosSupplier
ScTableValidationObj
ScTableColumnObj com.sun.star.sheet.XSheetAnnotationsSupplier
com.sun.star.sheet.XSheetAuditing
com.sun.star.sheet.XSheetLinkable
com.sun.star.sheet.XSheetOutline
com.sun.star.sheet.XSheetPageBreak
com.sun.star.sheet.XSpreadsheet
com.sun.star.table.XTableChartsSupplier
com.sun.star.util.XProtectable

ScTableSheetObj

ScTokenConversion

com.sun.star.sheet.XDatabaseRange
com.sun.star.beans.XPropertySet com.sun.star.util.XRefreshable com.sun.star.beans.XPropertySet
com.sun.star.lang.XServiceInfo com.sun.star.container.XNamed com.sun.star.container.XEnumerationAccess
com.sun.star.sheet.XSheetFilterDescriptor com.sun.star.sheet.XCellRangeReferrer com.sun.star.container.XIndexAccess
com.sun.star.beans.XPropertySet com.sun.star.lang.XServiceInfo
com.sun.star.sheet.XSheetFilterFieldAccess com.sun.star.datatransfer.XTransferableSupplier
com.sun.star.lang.XServiceInfo com.sun.star.lang.XTypeProvider
com.sun.star.lang.XUnoTunnel
com.sun.star.sheet.XCellRangeReferrer
com.sun.star.sheet.XActivationBroadcaster
com.sun.star.sheet.XViewPane
com.sun.star.sheet.XEnhancedMouseClickBroadcaster
com.sun.star.view.XFormLayerAccess
com.sun.star.sheet.XRangeSelection
com.sun.star.sheet.XSpreadsheetView
ScFilterDescriptorBase SfxListener com.sun.star.sheet.XViewFreezable
com.sun.star.sheet.XViewSplitable
ScDatabaseRangeObj com.sun.star.view.XSelectionSupplier

ScViewPaneBase
com.sun.star.sheet.XFormulaParser SfxBaseController
com.sun.star.beans.XPropertySet
ScFilterDescriptor ScRangeFilterDescriptor com.sun.star.lang.XServiceInfo

ScTabViewObj
com.sun.star.beans.XPropertySet ScFormulaParserObj
com.sun.star.lang.XServiceInfo
com.sun.star.lang.XTypeProvider
com.sun.star.lang.XUnoTunnel com.sun.star.container.XIndexAccess
com.sun.star.sheet.XDataPilotDescriptor com.sun.star.container.XNameAccess
com.sun.star.lang.XServiceInfo
com.sun.star.beans.XPropertySet com.sun.star.style.XStyleLoader
com.sun.star.beans.XMultiPropertySet com.sun.star.container.XIndexAccess
com.sun.star.beans.XMultiPropertyStates com.sun.star.container.XNameContainer
com.sun.star.beans.XPropertySet com.sun.star.lang.XServiceInfo
com.sun.star.beans.XPropertyState
com.sun.star.lang.XServiceInfo
ScDataPilotDescriptorBase com.sun.star.beans.XPropertySet
ScDataPilotFilterDescriptor com.sun.star.lang.XUnoTunnel
com.sun.star.document.XActionLockable
com.sun.star.style.XStyle
com.sun.star.document.XCodeNameQuery
com.sun.star.document.XDocumentEventCompatibleHelper
com.sun.star.document.XLinkTargetSupplier ScStyleFamiliesObj
com.sun.star.drawing.XDrawPagesSupplier
com.sun.star.lang.XServiceInfo
com.sun.star.sheet.XCalculatable
ScStyleFamilyObj
com.sun.star.sheet.XConsolidatable
ScDataPilotDescriptor ScDataPilotTableObj com.sun.star.sheet.XDocumentAuditing
com.sun.star.sheet.XGoalSeek
SvxFmMSFactory com.sun.star.sheet.XSpreadsheetDocument
com.sun.star.style.XStyleFamiliesSupplier ScStyleObj
com.sun.star.util.XProtectable
com.sun.star.beans.XPropertySet SfxBaseModel com.sun.star.view.XRenderable
com.sun.star.container.XNamed
com.sun.star.lang.XServiceInfo
com.sun.star.sheet.XDataPilotField
com.sun.star.sheet.XDataPilotFieldGrouping

ScModelObj

ScDataPilotFieldObj
ScXMLImportWrapper

SvXMLExportPropertyMapper

SvXMLExport
GetAutoStylePool() SvXMLAutoStylePoolP

com.sun.star.comp.Calc.XMLOasisImporter
com.sun.star.comp.Calc.XMLOasisMetaImporter
com.sun.star.comp.Calc.XMLOasisStylesImporter ScXMLAutoStylePoolP
com.sun.star.comp.Calc.XMLOasisContentImporter
com.sun.star.comp.Calc.XMLOasisSettingsImporter ScXMLCellExportPropertyMapper

xCellStylesPropertySetMapper XMLPropertySetMapper

xColumnStylesPropertySetMapper XMLPropertySetMapper

xRowStylesPropertySetMapper XMLPropertySetMapper

xTableStylesPropertySetMapper XMLPropertySetMapper

ScXMLExport ScFormatRangeStyles

xCellStylesExportPropertySetMapper

xColumnStylesExportPropertySetMapper
SvXMLExportPropertyMapper

xRowStylesExportPropertySetMapper SvXMLExportPropertyMapper

xTableStylesExportPropertySetMapper SvXMLExportPropertyMapper

SvXMLExportPropertyMapper

GetTables() ScChartListenerCollection
ScMyTableData

ScMyTables Class ScMyShapeResizer has method


CreateChartListener() that register all chart objects with
SvXMLImport specified listening ranges.
aFixupOLEs
ScMyOLEFixer

ScMyToFixupOLEs

SvXMLImportPropertyMapper

ScXMLCellImportPropertyMapper

ScXMLImport
There is one instance of ScMyStyle for each
XMLPropertyHandlerFactory cell style name. Each cell style keeps track of
ranges to which that style needs to be applied.
Those ranges are further sub-divided by
number format types: text, number, time, date-
time, percent, logical, and undefined.
pTextList
pNumberList ScRangeList
pTimeList
XmlScPropHdl_HoriJustify pDateTimeList
GetStylesImportHelper() pPercentList
pLogicalList
XMLScPropHdlFactory pUndefinedList

ScMyStyleRanges
One ScMyStyle for
each cell style (by xRanges
xSheetCellRanges ScMyStylesImportHelper name).
ScMyStyle

aCellStyles

ScMyStylesSet
Each cell style keeps track of
applied ranges.

com.sun.star.sheet.XSheetCellRangeContainer
ScCellRangesObj

SvXMLImportContext

ScXMLBodyContext ScDPSaveDimension

ScXMLDataPilotFieldContext ScXMLDataPilotMembersContext

ScXMLDataPilotTablesContext ScXMLDataPilotLevelContext ScDPSaveMember


ScXMLDataPilotTableContext ScXMLDataPilotMemberContext

ScXMLDataPilotMemberContext picks up the attributes of a field member


from the XML, creates an instance of ScDPSaveMember with those
attributes, and pass that instance to ScXMLDataPilotFieldContext.

ScXMLTableContext
ScXMLTableRowsContext ScXMLTableScenarioContext ScXMLTableColContext

ScXMLTableColsContext ScXMLTableSourceContext ScXMLTableShapesContext ScXMLTableRowContext


FmFormPage
SdrObjUserCall

SdPage

FmFormModel

SdDrawDocument

mpDoc

sd

DrawDocShell

mpViewShell
ViewShell

FuPoor

FuDraw

FuConstruct

FuConstructRectangle
SotObject
SfxModalDialog

SvStream sfx2

pInStream
pOutStream AboutDialog

INetURLObject pTimer SvLinkSourceTimer


pURLObj
SvLinkSource_Impl
LinkManager
pImpl aArr
aFilterClass SvLinkSource_Entry_Impl
SvGlobalName
SvLinkSource
com.sun.star.task.XStatusIndicator
xStatusInd
SfxProgress pImp SfxProgress_Impl
SfxMedium com.sun.star.embed.XStorage
pImp
SfxBroadcaster SfxMedium_Impl

xObj
com.sun.star.office.Quickstart
com.sun.star.desktop.QuickstartWrapper
GetItemSet()
SfxItemSet
ScServerObject
SfxMedium represents the physical storage medium where
the document data is saved to or loaded from. It has two
instances of SvStream; one for input and another for output SvFileObject
ShutdownIcon SfxShell stream. That SfxItemSet instance stores various information
GetMedium()
about this storage medium. It stores things such as
document password if there is one. SvxInternalLink
ShutdownIcon implements the SfxFilterContainer
quickstarter applet.
SvBaseLink
DdeConnection
SfxObjectFactory
SvDDEObject
pImpl DdeLink
DocumentInserter
SfxModule SfxModule_Impl SfxInterfaceArr_Impl DdeRequest
m_xInputStreamToLoadFrom BaseLink_Impl

SfxSlotPool
com.sun.star.ui.dialogs.XDialogClosedListener
SfxStyleSheetBasePool m_pFileDlg com.sun.star.ui.dialogs.XFilePickerListener
SfxListener com.sun.star.io.XInputStream

SfxObjectShell
SfxStoringHelper mxFileDlg com.sun.star.ui.dialogs.XFilePicker
ExecFile_Impl() GUIStoreModel()
ModelData_Impl
Help
SfxViewShell OutputFileDialog() FileDialogHelper
m_pObjectShell mpImp
FileDialogHelper_Impl

pImp FileDialogHelper is used as the standard way to launch file


SfxPickList
SfxHelp open dialog.
Window
xObjSh SfxObjectShell_Impl

SfxBaseModel
m_pData
IMPL_SfxBaseModel_DataContainer SfxFrameWindow_Impl
mpObjectContainer
comphelper::EmbeddedObjectContainer
SfxApplication pWindow SfxBindings
SfxBindings_Impl

pBindings
pTopFrames pImp SfxFrame_Impl
SfxFrame
pCurrentViewFrame
SfxViewFrame
pImp
SfxAddData_Impl SfxViewFrame_Impl
pWorkWin

SfxChildWindows_Impl SfxChildWin_Impl pWin SfxChildWindow


SfxWorkWindow SfxTopViewFrame

pDispatcher

GetFilterMatcher()

com.sun.star.document.XEventListener
com.sun.star.embed.XEmbeddedClient
com.sun.star.embed.XInplaceClient
com.sun.star.embed.XStateChangeListener
com.sun.star.embed.XWindowSupplier SfxFilterMatcher m_rImpl SfxFilterMatcher_Impl pList SfxFilterList_Impl SfxDispatcher
SfxFilter

SfxDispatcher_Impl

We keep a list of SfxFilterMatcher_Impl global instances that are shared


between all SfxFilterMatcher frontends. There is also one global
instance of SfxFilterList_Impl that's populated via
m_xObject com.sun.star.embed.XEmbeddedObject ReadSingleFilter_Impl() call, one filter instance at a time.
SfxInPlaceClient m_pImp SfxInPlaceClient_Impl

m_xClient
com.sun.star.embed.XEmbeddedClient

pDispatcher

SfxBindings
com.sun.star.frame.XNotifyingDispatch GetBindings()
com.sun.star.lang.XTypeProvider SfxControllerItem

com.sun.star.lang.XUnoTunnel

SfxStatusDispatcher

SfxDispatchController_Impl
SfxOfficeDispatch

SvTabListBox

SfxTabPage

SfxAccCfgTabListBox_Impl SfxAcceleratorConfigPage
aEntriesBox
SfxAcceleratorConfigPage
SfxStateCache

SfxStringItem

SfxStringItem

SfxTabPage
SfxDocumentInfoItem SfxTabDialog
SfxSlot
SfxFoundCache_Impl
SfxDocumentUserPage
SfxDocumentInfoItem

SfxRequest SfxDocumentDescPage
SfxDocumentInfoDialog
SfxDocumentPage
SfxDocumentInfoDialog SfxDocumentPage

SfxInternetPage

SfxStatusBarControllerFactory
SotFactory

SotFactoryList

SotExchange SotObjectFactory
SotDataObject

SotObjectList

SvRefBase
SotObjectRef

SotAction_Impl SotData_Impl

SvAggregateMemberList SotDestinationEntry_Impl
SotObject

SotStorageFactory

SotStorageStreamFactory

SotStorageStream

SvStream
Base class StgStrm provides basic
functionality for seeking and accessing the
StorageBase data on a physical medium. It uses its own
SotStorage
FAT class for page allocations.

BaseStorage StgStrm StgFAT

StgDirEntry

StgPage
pElem1
UCBStorage

StgCache

StgFATStrm StgDataStrm StgSmallStrm

I/O subsystem

StgHeader StgDirStrm
OLEStorageBase
StgIo

Storage

StgDirEntry

StorageStream
SvtListenerBase
pNext
pBroadcaster
SvtListenerBase pLeft SvtListenerBase
pRoot
pRight
SvtListenerBase
SvtBroadcaster
pBrdCastLst

pListener
SvtListener

SvtListenerIter

SfxUndoManager_Data
m_pData

SfxUndoManager

SvNumberFormatter stores and manages all number format types. It populates built-in
number formats in its ImpGenerateFormats() call, which gets called during construction.
The language type specified at construction time determines what built-in number formats are
included.

All builtin number format types are given in enum NfIndexTableOffset.

ImpSvNumberInputScan

NfIndexTableOffset
ImpSvNumberformatScan

Table Each SvNumberformat instance holds 4 instances


of ImpSvNumFor, one for each “sub format”,
pStringScanner whatever that means.

pFormatScanner
SvNumberFormatTable
NfEvalDateFormat ImpSvNumberformatInfo
SvNumberformat aI
aFTable
eEvalDateFormat ImpSvNumFor
pFormatterRegistry SvNumberFormatterRegistry_Impl
SvNumberFormatter aNatNum
SvNumberNatNum

xCalendar NumberFormatCodeWrapper

OnDemandCalendarWrapper
CalendarWrapper

NfCurrencyEntry

SfxItemPool

SfxPoolItemArray_Impl
pPool
ppPoolItems
pImp

ppPoolDefaults SfxPoolItem
SfxItemPool_Impl
SfxItemPoolCache
pCache
SfxItemModifyImpl
ppStaticDefaults

com.sun.star.beans.XPropertySetInfo

SfxExtItemPropertySetInfo
aExtMap
SfxItemPropertyMap

m_aMap

SfxItemPropertySet
vcl

IMnemonicEntryList

SvListView SvTreeListEntry
DragSourceHelper SvTreeListEntry optionally stores arbitrary user
data as void pointer. The caller is responsible for
aViewList managing the life cycle of such user data.
pParent
DropTargetHelper pModel
SvListView SvTreeListEntry
com.sun.star.document.XExporter
SvTreeList maChildren
com.sun.star.ui.dialogs.XExecutableDialog
com.sun.star.beans.XPropertyAccess GetViewData() pRootItem SvTreeListEntry
com.sun.star.lang.XInitialization aItems SvLBoxItem
com.sun.star.lang.XServiceInfo
SvViewDataEntry

Think of SvTreeList as the "model" and


GraphicFilter
SvTreeListBox as the "view", and some of the
Control
implementation code will start to make sense. SvLBoxString
singleton
SvLBoxContextBmp
SvLBoxTab
SvFilterOptionsDialog pTree
SvLBoxBmp
SvTreeListBox implements a control that
displays collapsable tree structure. aTabs
SvLBoxButton
Each line in the tree list is represented by
SvTreeListEntry, whose view properties UnoTreeListItem
are represented by SvViewDataEntry. SvTreeListBox ImplContextGraphicItem
pImp

SvImpLBox
pView

UnoTreeListEntry

com.sun.star.awt.tree.XTreeControl
com.sun.star.awt.tree.XTreeDataModelListener
mpTreeNodeMap
pImp
ImpLBSelEng

TreeControlPeer

utl
ConfigItem

SvtLanguageOptions

LanguageConfig_Impl SvtSysLocaleOptions SvtSysLocaleOptions_Impl

SfxItemPool_Impl SvtLinguConfig

SfxItemPool
SfxItemIter
GetPool()

SfxItemSet is a frontend class to SfxItemPool


and stores a set of SfxPoolItem instances. SfxItemSet SfxPoolItem
Internally, the SfxItemPool member stores the
actual SfxPoolItem instances. A stored item SfxItemArray
can be a class derived from SfxPoolItem;
SfxPoolItem serves as the base class so that
items of different classes can be stored within SfxItemArray is a typedef to a static
SfxItemPool container class. array of SfxPoolItem pointers. SfxRequestItem
SfxItemSet keeps an instance of SfxSetItem
An instance of SfxItemPool within SfxItemSet SfxItemArray to store items during
is never NULL during the lifetime of the parent SfxAllItemSet iterations.
ScPattermAttr
SfxItemSet instance.

An SfxItemSet instance can have a parent SvxScriptSetItem


instance of the same type. com.sun.star.datatransfer.DataFlavor
SfxItemIter is the iterator class for SfxItemSet.
SfxItemIter takes the SfxItemSet instance to be
iterated via its constructor.
_DataFlavorExVector vector DataFlavorEx

DataFlavorExVector
TransferableDataHelper

com.sun.star.datatransfer.XTransferable
com.sun.star.datatransfer.clipboard.XClipboardOwner
com.sun.star.datatransfer.dnd.XDragSourceListener
com.sun.star.lang.XUnoTunnel

toolkit DdeTransaction
DdeConnection
TransferableHelper

FixedHyperlinkBase DdeData

DdeInstData
DdeRequest DdeExecute
DdeServiceList DdeTopicList
svt DdeLink DdePoke
FixedHyperlink
AcceleratorExecute execute() AsyncAccelExec

DdeTopic DdeWarmLink DdeHotLink

DdeService
com.sun.star.frame.XStatusListener
com.sun.star.frame.XStatusbarController
com.sun.star.lang.XComponent
com.sun.star.lang.XInitialization
com.sun.star.util.XUpdatable

DdeItem

StatusBarController

com.sun.star.embed.XEmbeddedObject OCommonEmbeddedObject
mxObj

mpImpl EmbeddedObjectRef_Impl
EmbeddedObjectRef

Window

TabBar

TabBar is a parent class of


ScTabControl which implements Calc's
sheet tabs.

com.sun.star.datatransfer.XTransferable

SvParser GetTransferable() com.sun.star.datatransfer.DataFlavor

com.sun.star.datatransfer.clipboard.XClipboard

SvRTFParser DataFlavorEx com.sun.star.datatransfer.clipboard.XClipboardListener


TransferableDataHelper

HTMLParser mpImpl
HTMLOption
TransferableDataHelper_Impl TransferableClipboardNotifier com.sun.star.datatransfer.clipboard.XClipboardNotifier

TransferableDataHelper manages system clipboard formats. It


dbaui has a static method CreateFromSystemClipboard(), which creates
an instance of itself from the passed Window instance. The
Window instance, if it's the topmost frame window instance, stores
EditHTMLParser SfxHTMLParser OHTMLReader
the system clipboard instance which can be retrived by calling the
Window::GetClipboard() method.

SwHTMLParser SfxFrameHTMLParser

SvDataCopyStream
GrfSimpleCacheObj

GraphicDisplayCacheEntry
GraphicAttr

GraphicObject

GraphicManager Graphic

GraphicCacheEntry

GraphicCache

GraphicDisplayCacheEntry
sdr

SvxSimpleTable
SfxTabPage contact
SfxTabDialog

OfaACorrCheckListBox

OfaAutoCorrDlg

utl ViewObjectContact
svx ObjectContact
ConfigItem
SvtLanguageOptions
OfaSwAutoFmtOptionsPage MSCodec_Xor95
SvxAutoCorrDoc SfxPopupWindow
LanguageConfig_Impl SvtSysLocaleOptions
OfaLanguagesTabPage
OfaAutoCompleteTabPage
SvtLinguConfig MSCodec_XorWord95 MSCodec_XorXLS95 ExtrusionColorControl GetProcessLayers()
SvxSwAutoCorrCfg EdtAutoCorrDoc OfaSmartTagOptionsTabPage ObjectContactPainter ObjectContactOfSdrObj
DisplayInfo
SvxAutoCorrect
SvxAutoCorrCfg These tab pages implement various pages in the Options SvxFontColorToolBoxControl
SvxBaseAutoCorrCfg OfaAutocorrReplacePage ObjectContactOfPageView SetOfByte
SvTreeListBox dialog.
MSCodec_Std97 SvxColorWindow_Impl
● OpenOffice.org OfaAutocorrExceptPage SvxColorToolBoxControl
● Load/Save

● Language Settings
OfaAutocorrOptionsPage SfxToolBoxControl
● Languages - OfaLanguagesTabPage
SvxFontColorExtToolBoxControl
SvxCheckListBox OfaQuoteTabPage ViewContactOfSdrObj holds reference to the
SdrObject instance it's associated with, which can be
SvxColorWindow_Impl implements the accessed via GetSdrObject() method.
SvxFrameLineColorToolBoxControl popup color shooser window.
SvxUnoTextBase cppu
ExtrusionColorControl
OWeakAggObject drawinglayer
ViewContact
ToolboxButtonColorUpdater
SvxFontColorToolBoxControl
primitive2d

SfxModalDialog BufferedDecompositionPrimitive2D
SvxUnoText
SvTreeListBox
ViewContactOfPageSubObject
frame ViewContactOfSdrObj
maLeft
maRight
Array maTop Style SdrPathPrimitive2D
OptionsGroupInfo aTreeLB OfaOptionsTreeListBox maCells Cell maBottom
maTLBR
OfaTreeOptionsDialog maBLTR ViewContactOfTableObj
SdrTextPrimitive2D
ViewContactOfSdrTextObj
Resource
EPaM
createViewIndependentPrimitive2DSequence()
ArrayImpl SdrAutoFitTextPrimitive2D
OfaTreeOptionsDialog implements the Options dialog in Tools – Options. In its Initialize()
method it instantiates all tab pages that are in the dialog. SdrStretchTextPrimitive2D
OfaPageResource ResStringArray
Tab entries in this Options dialog are controlled by the resource file SdrBlockTextPrimitive2D
(svx/source/dialog/treeiopt.src). So, to add a new tab page in this dialog, you need to add a ViewContactOfGraphic
new string item in this reource file. SdrPathTextPrimitive2D

SfxPoolItem ViewContactOfSdrPathObj
When an option tab page is activated, the values of options in that page are fetched by ViewContactOfSdrRectObj SdrContourTextPrimitive2D
calling CreateItemSet() of the appropriate application module.

If you need to see where the Options dialog is launched, hunt for the
SID_OPTIONS_TREEDIALOG slot ID.
TextPortion
ViewContactOfSdrOle2Obj

SfxListener SfxRepeatTarget SfxBroadcaster

SdrPaintView
GetSdrPageView()
SvxHyperlinkItem SdrPageView FindPageWindow() SdrPageWindow
SvxFieldItem
SdrSnapView

ViewSelection
SfxSetItem
SvxFieldData SdrDragMethod SdrMarkView
GetViewContact()
animation

SvxScriptSetItem Scheduler
SdrEditView IPolyPolygonEditorController GetPaintWindow()
GetNext()
SvxURLField SdrMarkList
SdrDragObjOwn Event
ObjectUser EventList GetFirst()

SdrDragResize SdrPolyEditView primitiveAnimator


sdr

ToolbarMenuEntry SelectionController PrimitiveAnimation


SdrDragCrop SdrDragMove
SdrGlueEditView
SdrMark
SdrPaintWindow
getSelectionController()

SdrObjEditView
SvxTableController

com.sun.star.beans.XPropertyChangeListener SdrExchangeView
com.sun.star.container.XContainerListener
com.sun.star.form.XFormControllerListener overlay
com.sun.star.view.XSelectionChangeListener
SdrObjPlusData has the object name, title and description, which can be
OverlayObjectList
accessed by SdrObject's GetName(), GetTitle(), GetDescription() and their
SdrDragView respective setter methods. It also has a HTML name which is used by the
application. SdrObject also has accessers for the HTML name, GetOverlayManager()
GetHTMLName() and SetHTMLName(). SdrObjPlusData is also where the Each OverlayObject instance implements
custom user data for the drawing object is stored, via SdrObjUserDataList. drawGeometry() method to draw. OverlayManager
utl::ConfigItem
calls drawGeometry() of all of its overlay objects in OverlayObject
SdrObjList contains a list of pointers to SdrObject instances, and a pointer to method called ImplDrawMembers().
SdrCreateView the owner SdrObject instance.

SdrObjUserData
FmXFormShell mpOverlayObjectStart
SdrObjUserDataList mpOverlayObjectEnd
OutputDevice
SvNumberFormatter SdrObjPlusData
SdrView
pFormatter
SfxShell OverlayManager
SvxNumberFormatShell m_pImpl MapMode

ListBox E3dView

FmFormShell OverlayObjectWithBasePosition
m_pFormView FmFormView
SvxTextEncodingBox
OverlayPolyPolygonStriped
ScDrawView OverlayManagerBuffered

OverlayAnimatedBitmapEx
SdrObject
com.sun.star.beans.XMultiPropertySet
com.sun.star.beans.XMultiPropertyStates
com.sun.star.beans.XPropertySet GetOwnerObj()
SdrObjList maList
com.sun.star.beans.XPropertyState
com.sun.star.container.XChild GetObjList()
com.sun.star.container.XNamed OverlayObjectCell
SdrTextObj::TRGetBaseGeometry()
com.sun.star.document.XActionLockable
constructs a homogeneous transformation
com.sun.star.drawing.XGluePointsSupplier
matrix which is used when exporting drawing OverlayObjectCell is implemented
com.sun.star.drawing.XShape
objects to ODF. in sc for use in Calc.
com.sun.star.lang.XComponent
mpObj SdrVirtObj
com.sun.star.lang.XServiceInfo
com.sun.star.lang.XUnoTunnel SdrPageObj SdrAttrObj
com.sun.star.container.XEnumerationAccess OutlinerParaObject
com.sun.star.lang.XTypeProvider SdrText
com.sun.star.text.XTextAppend mpText
VclAbstractDialogFactory com.sun.star.text.XTextCopy SdrObjGroup
com.sun.star.text.XTextRangeMover SdrTextObj
SvLinkSource
SvxUnoTextRangeBase
VclAbstractDialog E3dObject

GeoStat

SfxAbstractTabDialog Both SvxUnoTextBase and SvxUnoTextRangeBase are SvxShape


in editeng, and handle the low level details of text
sfx2 handling using the edit engine code. SvxUnoTextBase properties
SfxAbstractDialogFactory LinkManager BaseProperties

SvxInternalLink SdrObjCustomeShape
DefaultProperties
EmptyProperties
SvxLinkManager SvxShapeText SdrMeasureObj SdrPathObj
SvxInternalLink represents an internal DDE link. Its
com.sun.star.drawing.XControlShape SdrModel implements the guts of the drawing layer used
Connect() method tries to find an object shell instance for AttributeProperties GroupProperties
in all applications. In a nutshell, the drawing layer SdrRectObj
the document located at specified URL. It first tries to see
if the document is already loaded, in which case it re-uses consists of multiple “pages” implemented by SdrPage,
that shell instance. If the linked document is not in and each page object stores the actual drawing objects
on those pages. In Calc, for instance, the drawing layer SdrEdgeObj
memory, it loads it from the disk but keeps it hidden. E3dProperties
pages are mapped to the sheet instances.

SvxShapeControl mpModel Each drawing object, implemented by SdrObject, is


SvxOle2Shape allowed to have custom object data, which are SdrGrafObj represents a bitmap image. It stores cropping values as TextProperties
categorized by the inventor type, identifier, and version. a property to its corresponding GraphicProperties instance. Note
Each custom data associated with a drawing object is a that its logical rectangle takes cropping into account. SdrGrafObj is
sub-class of SdrObjUserData. associated with ViewContactOfGraphic, whose
SvPasteObjectDialog createViewIndependentPrimitive2DSequence() method creates
SdrGrafPrimitive2D instance from it for further processing.
RectangleProperties
SvPasteObjectDialog implements the system
Paste Special dialog. ConnectorProperties
SdrLayer
SdrLayerAdmin
OLEObjCache SdrOle2Obj xObjRef svt::EmbeddedObjectRef
GetLayerAdmin() GraphicProperties
SdrGlobalData

SdrModel
maPages SdrPage
GraphicAttr

SdrGrafObj
com.sun.star.drawing.XShapeGroup table
com.sun.star.drawing.XShapes TableDesignUser
Outliner
pDrawOutliner GraphicObject
SfxStatusBarControl

FmFormModel
SdrOutliner SdrTableObj

OFormsCollection TableModel
m_pImpl m_xForms com.sun.star.container.XNameContainer mpImpl mxTable
FmFormPageImpl
FmFormPage maRows
TableRow maCells Cell
SvxShapeGroup
ScDrawLayer SdrTableObjImpl
mpLayouter
SvxZoomStatusBarControl SvxPosSizeStatusBarControl
SvxShapeGroup::addUnoShape() takes the UNO XShape object and TableLayouter
com.sun.star.drawing.XDrawPage
instantiate an appropriate SdrObject shape based on the type of the mxUnoPage com.sun.star.drawing.XShapeGrouper
SvxSelectionModeControl SvxZoomSliderControl SvxInsertStatusBarControl XShape object being passed. SvxDrawPage::_CreateSdrObject() is the maTableStyle
com.sun.star.lang.XComponent
method that examines the XShape properties and instantiate an mxPage com.sun.star.lang.XServiceInfo
SdrObject instance.
com.sun.star.lang.XUnoTunnel
SvxModifyControl
Each XShape object has a string representing a shape type, from which
the internal sdr object and inventor types get deduced. These types are TableStyleSettings
then passed to SdrObjFactory::MakeNewObject() which instantiates
the correct SdrObject instance in return.
SvxDrawPage

com.sun.star.form.XFormsSupplier2

GetSdrPage()
SvxFmDrawPage
Table

DffPropSet mpFlags DffPropFlags

DffPropertyReader

SdrHdlList SdrHdl

SvxMSDffManager

SdrEscherImport XclImpSimpleDffManager

accessibility

AccessibleTextHelper_LostChildEvent
ParagraphsMoved()

SetStartIndex() AccessibleTextHelper_OffsetChildIndex

AccessibleTextHelper
UpdateBoundRect() AccessibleTextHelper_UpdateChildBounds

mpImpl AccessibleTextHelper_ChildrenTextChanged
ProcessQueue

AccessibleTextHelper_QueueFunctor
AccessibleTextHelper_Impl
maParaManager
AccessibleParaManager
SvxCSS1MapEntry

sw
CSS1Selector mark

MarkBase
Reader

CSS1Parser CSS1Expression

Fieldmark

WW1Reader
SvxCSS1BorderInfo
SvxCSS1PropertyInfo
XMLReader TextFieldmark
SvxCSS1Parser
CheckboxFieldmark

StartConvertFrom() SfxHTMLParser MarkManager


HTMLReader
SfxObjectShell

Read()
SwCSS1Parser
SwHTMLParser

SwClient

sfx2
SwDocShell

SvBaseLink
pNext
pPrev
SwTable
SwFrm

pDoc SwDDETable
SvxLinkManager
SwBaseLink
SfxPoolItem Lower()
GetLinkManager() Handles DDE links.

SwFlowFrm
Upper()
SwLayoutFrm
SwDoc
SwIntrnlRefLink

SwFmtRuby

SwRubyListEntry SwFmtRuby owns SwCntntFrm


ruby string data.

SwTxtFrm

GetRootFrm() SwNoTxtFrm
pLayout SwRootFrm

FmFormView
SwModify SwTxtAttr
SwFtnBossFrm

SwDrawView SwPageFrm
GetFirstVisPage() SwTxtAttrEnd

SdrPageView SwRects

SwFmt
SwTxtRuby
aOrigin SwRect
SwRegionRects GetMaster()
GetLeft()
SwFrmFmt
GetDoc()
SwViewShellImp SwPageDesc
SwScrollAreas

SwLayAction SwDepend

SwLayIdle

GetAccessibleMap()
m_pAccessibleMap
SwAccessibleMap
SvxNumberType

Imp()

SwPosSize
Ring

SwLinePortion

SwViewOption
pOpt SwMultiPortion

SwTxtPortion
SwViewShell

GetWin()
Window SwRubyPortion

GetSfxViewShell()
SfxViewShell

SvRefBase

SwPaM

SwIoSystem

Writer

SwCursor SwSelPaintRects

SwASCWriter SwHTMLWriter SwRTFWriter SwW4WWriter


SwShellCrsr
SwCursorShell

SfxViewShell
I fail to see the point of this class
inheritance, from SwCrsrShell down
to SwWrtShell.
SwEditShell

SwFeShell

GetWrtShell() DropTargetHelper
SfxShell SwWrtShell
DragSourceHelper
GetEditWin()

GetView() SwView
rView SwShadowCursor
SwBaseShell
SwEditWin
pHScrollbar
pVScrollbar SwView_Impl ScrollBar
pHRuler
pVRuler

SwScrollbar
pDrawActual
SvxRuler

SwPostItMgr
SwBezierShell
SwWebView
SwTextShell SwDrawBase
SwFrameShell SwListShell

SwDrawBaseShell SwGrfShell SwTableShell SwMediaShell


layout
ContextImpl class takes the path to a layout XML file UnoWrapperBase is in vcl.
that defines the content of a dialog being created, and
creates an awt.XLayoutRoot instance which is com.sun.star.awt.XDevice UnoWrapperBase
implemented by LayoutRoot. It passes the XML file com.sun.star.lang.XTypeProvider
path to the XLayoutRoot instance as an argument. com.sun.star.lang.XUnoTunnel
ContextImpl mxRoot com.sun.star.awt.XLayoutRoot com.sun.star.accessibility.XAccessible
Context pImpl
com.sun.star.awt.XDockableWindow
com.sun.star.awt.XLayoutConstrains
com.sun.star.awt.XVclWindowPeer
The actual OutputDevice instance in vcl module. com.sun.star.awt.XView
com.sun.star.awt.XWindow VCLXDevice com.sun.star.awt.XWindow2
GetOutputDevice() OutputDevice com.sun.star.beans.XPropertySetInfo UnoWrapperBase
WindowImpl com.sun.star.lang.XEventListener UnoWrapper
com.sun.star.awt.XVclWindowPeer
mpImpl

Window com.sun.star.awt.XActionListener
com.sun.star.awt.XItemListener toolkit
VCLXVirtualDevice VirtualDevice UnoWrapper maAccessibleFactoryAccess
DialogImpl ControlImpl

getFactory() IAccessibleFactory
ButtonImpl mxButton com.sun.star.awt.XButton mpImpl VCLXWindowImpl AccessibilityClient
VCLXWindow
getAccessibleFactory()
The Dialog class impersonates
SfxModalDialog via a preprocessing Dialog
macro defined in the layout-pre.hxx
header file. com.sun.star.awt.XTextComponent
com.sun.star.awt.XTextEditField AccessibleDummyFactory
com.sun.star.awt.XTextLayoutConstrains
PushButtonImpl RadioButtonImpl mxRadioButton com.sun.star.awt.XRadioButton

PeerHandle com.sun.star.uno.XInterface com.sun.star.awt.XFixedHyperlink


CheckBoxImpl mxCheckBox com.sun.star.awt.XCheckBox VCLXToolBox

VCLXEdit accessibility

VCLXFixedHyperlink com.sun.star.awt.XSpinField AccessibleFactory

com.sun.star.awt.XScrollBar
VCLXSpinField
Control com.sun.star.awt.XListBox
com.sun.star.awt.XTextLayoutConstrains

VCLXScrollBar
FixedLine VCLXFormattedSpinField
mxGraphic com.sun.star.graphic.XGraphic VCLXListBox
ImageImpl
pImpl
Button SetModeImage() Image
com.sun.star.awt.XFixedText
ListBox com.sun.star.awt.XComboBox
ProgressBar
Edit
FixedImage VCLXFixedText
RadioButton VCLXComboBox
Container com.sun.star.awt.XImageConsumer

MultiLineEdit FixedText VCLXAccessibleComponent


SpinField CheckBox
com.sun.star.awt.XPatternField
ComboBox Table Box
FormatterBase VCLXImageConsumer
FixedInfo PushButton VCLXPatternField
com.sun.star.awt.XButton
com.sun.star.awt.XToggleButton
HBox VBox
MetricFormatter NumericFormatter com.sun.star.awt.XCurrencyField
com.sun.star.awt.XTimeField
VCLXAccessibleBox VCLXAccessibleScrollBar VCLXAccessibleTabControl VCLXAccessibleToolBox
VCLXButton VCLXTimeField VCLXCurrencyField
com.sun.star.awt.XButton
OKButton YesButton com.sun.star.awt.XRadioButton
VCLXAccessibleList VCLXAccessibleStatusBar VCLXAccessibleTabPageWindow
com.sun.star.awt.XDateField
NoButton
com.sun.star.awt.XMetricField
RetryButton
ResetButton VCLXRadioButton
MetricField AdvancedButton CancelButton VCLXDateField
NumericField
HelpButton VCLXMetricField
ApplyButton IgnoreButton VCLXImageControl com.sun.star.awt.XCheckBox
com.sun.star.awt.XButton com.sun.star.awt.XVclContainer
com.sun.star.awt.XVclContainerPeer com.sun.star.awt.XNumericField
MoreButton
VCLXNumericField
VCLXCheckBox

VCLXContainer

com.sun.star.awt.XSystemDependentWindowPeer
com.sun.star.awt.XTopWindow

VCLXTopWindow_Base

VCLXTabPage
com.sun.star.awt.XControlModel VCLXTopWindow
com.sun.star.beans.XPropertyState
com.sun.star.accessibility.XAccessible
com.sun.star.awt.XControl com.sun.star.io.XPersistObject
com.sun.star.awt.XView com.sun.star.lang.XComponent com.sun.star.awt.XToolkit
com.sun.star.lang.XServiceInfo com.sun.star.lang.XServiceInfo
com.sun.star.awt.XWindow2 com.sun.star.awt.Toolkit
com.sun.star.lang.XTypeProvider com.sun.star.awt.XSystemChildFactory
com.sun.star.beans.XPropertiesChangeListener
com.sun.star.lang.XUnoTunnel com.sun.star.awt.XMessageBoxFactory com.sun.star.awt.XMessageBox
com.sun.star.lang.XServiceInfo
com.sun.star.util.XCloneable com.sun.star.awt.XDataTransferProviderAccess
com.sun.star.util.XModeChangeBroadcaster
com.sun.star.awt.XExtendedToolkit
com.sun.star.awt.XReschedule

com.sun.star.lang.XServiceInfo VCLXToolkit_Impl com.sun.star.awt.XDialog


com.sun.star.lang.XSingleServiceFactory
VCLXMessageBox

UnoControlModel
UnoControl VCLXDialog
com.sun.star.awt.XControlModel com.sun.star.awt.Layout VCLXToolkit

aComponentInfos array
contains widget names that can
LayoutFactory be created.

layoutimpl

Both LayoutWidget and LayoutRoot hold pointers to the


same instance of XLayoutContainer. The
XLayoutContainer defines the interface for LockHelper XLayoutContainer instance is created in the constructor of
com.sun.star.awt.XLayoutUnit
VCLXFixedLine a container object that can enclose child LayoutWidget.
objects, whereas XLayoutConstrains
Timer
defines the interface for child objects that LayoutRoot takes as an argument the name of an XML file
can live inside a container. that defines the content of a dialog to be created, and
PropHelper parses that file when its initialize() method gets called.
com.sun.star.awt.XLayoutContainer LayoutUnit
com.sun.star.awt.XLayoutConstrains
mxLayoutUnit
AllocateTimer mxContainers com.sun.star.awt.XLayoutContainer

PropHelper::Listener
mxLayoutUnit

com.sun.star.awt.XLayoutRoot
com.sun.star.lang.XComponent
Container com.sun.star.awt.XLayoutConstrains
com.sun.star.lang.XInitialization mxWidget
mxParent
com.sun.star.awt.XLayoutContainer LayoutWidget
mxContainer
mpTopLevel com.sun.star.awt.XLayoutContainer

mxContainer
com.sun.star.awt.XToolkit VCLXToolKit implements the XToolkit interface.
mxToolkit This toolkit is used for instantiating conventional
LayoutRoot
Box_Base Flow com.sun.star.awt.XSimpleTabController widgets such as radiobuttons.
Bin

MinSize VCLXTabControl
UnoWrapper's CreateAccessible() method returns
an XAccessible object for the instance of Menu Table
whose pointer is passed to the method. Internally,
com.sun.star.awt.XDialog2
the XAccessible object is created by
AccessibleFactory which is implemented in the VCLXSplitter com.sun.star.xml.input.XElement
accessibility module. Box
Align

VCLXDialog mrRoot
initialize()
com.sun.star.xml.input.XRoot com.sun.star.xml.input.XAttributes
HBox VBox
ElementBase

mpImport
DialogButtonHBox WidgetElement

ImportContext
startRootElement()

ToplevelElement

ImportContext instantiates the sax parser and the sax document handler instances
during its construction in order to parse the layout xml file. The parser instance is
found by the service name com.sun.star.xml.sax.Parser which is implemented by
sax_expatwrap::SaxExpatParser in the sax module. Likewise, the document handler
instance is found by the service name
com.sun.star.comp.xml.input.SaxDocumentHandler which is implemented by the
DocumentHandlerImpl class in the xmlscript module.

ImportContext keeps reference to the LayoutRoot instance, and creates a new


widget instance by calling the LayoutRoot::create() method each time a widget
element is encountred during xml parsing.
Link ResId

Resource

ResMgr InternalResMgr

ResStringArray ResStringArray::ImplResStringItem
ucb

Content
Content_Impl
utl

com.sun.star.io.XOutputStream

OOutputStreamWrapper

ConfigItemListEntry_Impl

ConfigMgr_Impl

xConfigurationProvider
ConfigItem ConfigItem_Impl GetConfigurationProvider() com.sun.star.lang.XMultiServiceFactory com.sun.star.configuration.ConfigurationProvider
ConfigManager

AcquireTree()
com.sun.star.container.XHierarchicalNameAccess com.sun.star.configuration.ConfigurationUpdateAccess
com.sun.star.util.XChangesListener

ConfigChangeListener_Impl Bootstrap

LocaleDataWrapper com.sun.star.i18n.XLocaleData2

CalendarWrapper xC com.sun.star.i18n.XExtendedCalendar
com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo ModalDialog
com.sun.star.task.XInteractionHandler
com.sun.star.comp.uui.UUIInteractionHandler
MessBox

UUIInteractionHandler
m_pImpl
UUIInteractionHelper PasswordCreateDialog PasswordDialog OpenLockedQueryBox

OpenLockedQueryBox implements the “Document


in Use” dialog which gets launched when opening a
document that's already been opened by someone
else.
The global instance of ImplSVData - pImplSVData - VclReferenceBase
can be accessed via ImplGetSVData() global function. SalInstance serves as the
Likewise, calling the global function GetSalData() singleton factory that creates and
returns the global SalData instance. On UNIX platform, destroys widget instances.
GetX11SalData() returns the pointer to the X11SalData
instance.
SalInstance Resource
m_pInstance
SalData

ImplSVAppData

SalGenericData SalGenericInstance
ImplSVGDIData

WinSalInstance
ImplSVWinData
ImplSVData
AquaSalInstance
ImplSVCtrlData GtkData SvpSalInstance

X11SalInstance
X11SalData IosSalData
ImplSVHelpData
Accelerator
SvpSalData HeadlessSalInstance
ImplSVNWFData
HeadlessSalData
ImplKeyboardData

KeyboardSettings
UnoWrapperBase AndroidSalData TDESalInstance
GtkInstance ImplRegionBase
OutputDevice std::list<Link>

KDESalInstance
ImplAllSettingsData
Region
UnoWrapper ImplRegion ImplRegionBand VclEventListeners

UnoWraper is AllSettings DtIntegrator


implemented in toolkit.
ImplObjStack
SalGeometryProvider VclSimpleEvent

StyleSettings ImplStyleData SalVirtualDevice VclWindowEvent VclMenuEvent


mpVirDev
VirtualDevice vcl CommandEvent

CommandModKeyData
WinSalVirtualDevice
DeletionNotifier
VCLXWindow
mpVCLXWindow
Window
com.sun.star.awt.XWindowPeer KeyEvent KeyCode
mxWindowPeer
Graphic ImpGraphic mpWindowImpl
mpFrameData SalFrame
ImplFrameData
WindowImpl When SalDisplay is constructed, it sets itself to
the global X11SalData instance during the
mpFrame construction so that it can be accessed globally
SystemWindow
AnimationBitmap within the vcl implementation. KDEXLib takes
BitmapEx
SystemWindow is always a top-level window SalXLib advantage of this, and it only instantiates
with menu bar etc. It has no parent Window SalKDEDisplay but does not store its pointer.
i.e. its parent Window is NULL. AquaSalFrame GtkSalFrame
Animation

WinSalFrame Os2SalFrame X11SalFrame SalDisplay


Dialog KDEXLib
FloatingWindow
SalVirtualDevice
Menu::ImplPaint()
physically draws the menu MenuItemList MenuItemData SvpSalFrame
texts, icons, highlight box, SalKeyModEvent
ImplStatusItem submenu marker etc. GtkXLib m_pGtkSalDisplay GtkSalDisplay SalX11Display
vclcanvas pItemList MenuItemData stores data for individual menu
StatusBar items. Data such as menu item string, help X11SalVirtualDevice WinSalVirtualDevice
OutDevProvider MenuLogo string are stored in this class.
StatusBar represents the entire row of the
pLogo SalKDEDisplay
status bar. It has multiple instances of
ImplStatusItem which represents each
pMenu AquaSalVirtualDevice
individual status area. Menu Os2SalVirtualDevice
MenuFloatingWindow GetAccessible()
mxAccessible com.sun.star.accessibility.XAccessible DecorationView
BackBuffer BitmapBackBuffer SvpSalVirtualDevice
framework
DecorationView is used to draw various symbols on the menu
FrameworkStatusBar windows. It is always instantiated as a local variable, is never used
as a data member of a class.
pActivePopup
VCLXAccessibleMenuBar VCLXAccessiblePopupMenu It is, for example, used to draw the right submenu markers in
Menu::ImplPaint().

pWindow
PopupMenu Menu::GetAccessible() returns an XAccessible object for the
menu instance. The XAccessible instance is internally created
by AccessibleFactory which is implemented in the
accessibility module.

VCLXAccessibleMenuBar and VCLXAccessiblePopupMenu


implements the accessible object for MenuBar and
MenuBar PopupMenu, respectively.
Help SalGraphics
pActivePopup

SalLayout

SvpSalGraphics Os2SalGraphics
SfxHelp MenuBarWindow X11SalGraphics

PspSalGraphics AquaSalGraphics
WinSalGraphics

ATSLayout
MultiSalLayout
WinLayout

GenericSalLayout
Os2Layout

DockingWindow
X11FontLayout
Control
ServerFontLayout
ImplLayoutArgs

ImageList

ToolBox
SplitWindow
TextWin_Impl
ScrollBar ImplScrollBarData
ListBox Button ImplWin
SfxDockingWindow SvSection

ImplCommonButtonData css.accessibility.XAccessibleEventListener

DecoToolBox CommandToolBox
PushButton CheckBox RadioButton

ImplFontCache mpFirstEntry ImplFontEntry


ToolbarMenuEntry

mpWrapper AtkObjectWrapper
ImplFontSubstitution
AtkListener
ImplDockingWindowWrapper
m_aChildList
ImplDevFontListData css.accessibility.XAccessible

ImplDevFontList ImageButton HelpButton GalleryButton


ImplPreMatchFontSubstitution OKButton CancelButton MoreButton MenuButton

ImplGlyphFallbackFontSubstitution

FcPreMatchSubstititution

FcGlyphFallbackSubstititution

ImplFontAttributes

ImplFontSelectData ImplFontMatricData ImplDevFontAttributes

AtkListener
SvXMLImportContext

SvXMLPropertySetContext mxMapper SvXMLImportPropertyMapper

xmloff

OPropertyImport

XMLTextPropertySetContext
SchXMLPlotAreaContext

SvXMLStylesContext_Impl SchXMLChartContext
aStyles SvXMLStyleContext
mpImpl

SvXMLStylesContext_Impl stores OElementImport


mxAutoStyles
entries for all automatic styles defined XMLImpSpanContext_Impl
GetAutoStyles()
in the top part of context.xml.
SvXMLStylesContext

m_xAutoStyles
XMLTextImportHelper maProperties XMLPropertyState
mxTextImport
GetTextImport() XMLPropStyleContext OControlImport

m_pImpl
m_xFontDecls

OImagePositionImport
m_xTextImpPrMap XMLTextStyleContext
XMLTextImportHelper::Impl XMLFontStylesContext

SvXMLImportPropertyMapper
SvXMLImport maPropMapper OURLReferenceImport

maPropMapper
getPropertySetMapper()

XMLPropertyMapEntry
xCellStylesPropertySetMapper

aMapEntries XMLPropertySetMapperEntry_Impl XMLPropertySetMapper maps between the XML property names and the
UNO API property names. The ID stored in XMLPropertyState can be
used to access appropriate map entry.

XMLPropertyMapEntry is used to define mapping rules between UNO's


properties and ODF's style properties. But XMLPropertySetMapper itself
stores the mapping rules in the XMLPropertySetMapperEntry_Impl
XMLPropertySetMapper
structures which are created from the XMLPropertyMapEntry instances.
getPropertySetMapper() These mapper classes are used both for import and export. You can think
of XMLPropertySetMapperEntry_Impl as the implementation counterpart
SvXMLImportPropertyMapper of XMLPropertyMapEntry. The _Impl variant stores an appropriate
property handler instance for the type of the property it represents.

The GetPropertyHandler() method of class XMLPropertyHandlerFactory (or any


of its derived classes) returns appropriate property handler instance given the
maHdlFactories numeric type representing the property type. The property type of a property is
statically defined in an array of XMLPropertyMapEntry. All XMLPropertyMapper
instances that it creates are stored in and managed by the originating factory
instance.

SvXMLStylesContext
XMLPropertyHandlerFactory

mxChartImpPropMapper maHandlerCache
XMLPropertyHandler

mxPageImpPropMapper mxPropMapper

XMLChartImportPropertyMapper

XMLSdPropHdlFactory
XMLChartPropHdlFactory
PageMasterImportPropertyMapper XMLScPropHdlFactory XMLPageMasterPropHdlFactory
SvXMLAutoStylePoolP_Impl contains all automatic styles for the document. It contains multiple SvXMLExportPropertyMapper takes care of mapping UNO's properties into
instances of XMLAutoStyleFamily, which represents a single category (or family) of styles. Each ODF's automatic styles during export. Each UNO object is expected to
family may be one of text style, paragraph style, column style, row style, cell style, and so on. implement the XPropertySet interface, and you need to define a set of mapping XMLTextPropertyHandlerFactory
Each style family is further divided by the parent names, each of which stores the actual set of rules and pass it to the instance of this class or a child class of this.
properties that represent the styles to be exported.
The mapping rules are given by an instance of XMLPropertySetMapper which
XMLAutoStylePoolProperties represents a single set of styles, and stores an array of is also sub-classed for each document type.
XMLPropertyState objects. The index value stored in each XMLPropertyState object is to be
used with a corresponding XMLPropertySetMapper instance to get its metadata such as API
name, XML name etc.

mxMapper SvXMLExportPropertyMapper mpImpl SvXMLExportPropertyMapper::Impl

XMLAutoStyleFamily
maParents
XMLAutoStylePoolParent

FilterPropertiesInfo_Impl
maPropertiesList FilterPropertyInfo_Impl
com.sun.star.container.XNamed
com.sun.star.document.XExporter SvXMLAutoStylePoolP
pImpl
com.sun.star.document.XFilter SvXMLAutoStylePoolP_Impl
com.sun.star.lang.XInitialization
com.sun.star.lang.XServiceInfo
com.sun.star.lang.XUnoTunnel
XMLAutoStylePoolProperties XMLPageExportPropertyMapper
GetProperties() XMLPageMasterExportPropertyMapper
XMLPropertyState

XMLShapeExportPropertyMapper
GetAutoStylePool() exportXML()

SvXMLExport must be inherited by each


application's own XML exporter filter. AutoStylePoolExport

xPageStyles com.sun.star.container.XNameAccess

XMLPageExport

XMLPageExportNameEntry

GetPageExport() pUsedList
SvXMLNumFmtExport SvXMLNumUsedList_Impl
XMLPropStyleContext

XMLTextStyleContext
mpNumExport

XMLShapeExport

mxShapeExport

SvXMLElementExport
SvXMLExport

XMLStyleExport

ScXMLStyleExport

XMLTextParagraphExport::Impl
m_pImpl

mxTextParagraphExport XMLSectionExport
pSectionExport

xTextPropMapper XMLTextExportPropertySetMapper
XMLTextParagraphExport

SchXMLExport maExportHelper
SchXMLExportHelper m_pImpl SchXMLExportHelper_Impl

XMLChartPropertySetMapper

SchXMLExportHelper and its impl class SchXMLExportHelper_Impl


handles export of <chart:chart> elements. This code is also called when
copying a chart object to clipboard. When copying a chart from Calc to XMLChartExportPropertyMapper
Writer/Draw/Impress, the raw data gets transformed into local table
during the export.
xmlscript

com.sun.star.xml.input.SaxDocumentHandler
com.sun.star.lang.XInitialization
com.sun.star.xml.input.XNamespaceMapping
com.sun.star.xml.sax.XDocumentHandler

com.sun.star.xml.input.XElement

DocumentHandlerImpl keeps a stack of elements ElementEntry


m_elements
such that the element at the bottom of the stack being
the current element. Struct ElementEntry represents m_xRoot com.sun.star.xml.input.XRoot
each element in the stack. It holds a reference to the
actual element instance stored as XElement type.
DocumentHandlerImpl
When the sax parser calls the doc handler's
startDocument() and endDocument() methods, the
DocumentHandlerImpl instance simply routes those
calls to the same methods of the XRoot instance,
respectively.

Likewise, when the parser instance calls the handler's


startElement() method, it routes the call to the
startChildElement() method of the XElement instance
representing the current element (the one at the bottom
of the statck), except that when there is no current
element, it calls XRoot's startRootElement() method.

In other words, the client code can simply implement com.sun.star.xml.input.XAttributes


the XElement and XRoot interfaces to handle each
element, and leave the rest to the parser and the
document handler services which are already
implemented. There is no need to re-implement the
XDocumentHandler interface in the client code unless
you need to do some complex handling of XML ExtendedAttributes
documents.

You might also like