[ooo-build-commit] Branch 'ooo/master' - chart2/source sc/inc sc/qa sc/source

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Jun 5 17:18:04 PDT 2009


 chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx |   16 +
 chart2/source/controller/main/ControllerCommandDispatch.cxx       |    1 
 chart2/source/inc/chartview/NumberFormatterWrapper.hxx            |    1 
 chart2/source/tools/InternalDataProvider.cxx                      |    5 
 chart2/source/tools/UncachedDataSequence.cxx                      |    4 
 chart2/source/view/main/NumberFormatterWrapper.cxx                |   24 ++
 sc/inc/shapeuno.hxx                                               |   32 ++
 sc/qa/complex/calcPreview/makefile.mk                             |    2 
 sc/qa/complex/cellRanges/makefile.mk                              |    2 
 sc/qa/complex/sc/makefile.mk                                      |    2 
 sc/source/core/data/drwlayer.cxx                                  |    6 
 sc/source/ui/inc/AccessibleContextBase.hxx                        |    2 
 sc/source/ui/unoobj/shapeuno.cxx                                  |  109 +++++++---
 13 files changed, 159 insertions(+), 47 deletions(-)

New commits:
commit ba7ef44a3ab1e7c8e105f0818bbb4eb517eb48a6
Author: Kurt Zenker <kz at openoffice.org>
Date:   Fri Jun 5 09:47:55 2009 +0000

    CWS-TOOLING: integrate CWS dba32b
    2009-06-03 14:58:08 +0200 fs  r272581 : #i102439#
    2009-05-29 13:56:18 +0200 fs  r272456 : remove the sub form when the 'add subform' setting changes from <true/> to <false/>, not only its controls
    2009-05-29 13:19:27 +0200 fs  r272454 : display '(Default)' instead of an empty string when a control has the default font
    2009-05-28 20:49:18 +0200 fs  r272428 : #i98162# getFirstSelectedValue: do not return reference to a temporary
    2009-05-27 15:30:22 +0200 msc  r272353 : #102303#
    2009-05-26 13:03:06 +0200 fs  r272295 : spelling
    2009-05-26 12:59:54 +0200 fs  r272294 : merge m48 version to get latest cygwin related fixes
    2009-05-25 14:02:06 +0200 fs  r272239 : remove references to local files, needed for debugging sessions only
    2009-05-25 14:01:16 +0200 fs  r272238 : #i102021# ensure members such as bNumberFormat are initialized before actually returning them
    2009-05-25 13:10:20 +0200 fs  r272236 : #i10000# reset ENABLE_EVOAB2
    2009-05-22 06:44:45 +0200 oj  r272167 : #i99104# add import handler for calc-sett
    2009-05-22 06:42:27 +0200 oj  r272166 : #i99104# impl NullDate as member
    2009-05-22 06:36:22 +0200 oj  r272165 : #i99104# handle nulldate from parent model
    2009-05-22 06:33:13 +0200 oj  r272164 : #i99104# export and import calculation-settings and nulldate
    2009-05-22 06:27:50 +0200 oj  r272163 : #i99104# export and import calculation-settings and nulldate
    2009-05-20 13:29:58 +0200 oj  r272118 : #i99911# handle invalid name
    2009-05-20 13:28:49 +0200 oj  r272117 : #i101261# handle different rowsets
    2009-05-20 11:29:55 +0200 msc  r272111 : #i100000#
    2009-05-20 11:28:27 +0200 msc  r272110 : merge in change from dba32a
    2009-05-20 11:27:38 +0200 msc  r272109 : #102082# CTRL + C does not work
    2009-05-20 09:43:36 +0200 oj  r272106 : clean up includes
    2009-05-20 09:32:15 +0200 oj  r272105 : #i99060# merge error resovled now VERTICAL_ALIGN is in both stmt
    2009-05-20 08:37:21 +0200 msc  r272104 : add workaround for issue #102010#
    2009-05-20 08:10:12 +0200 oj  r272103 : #i99104# use numberformatkey
    2009-05-20 08:07:02 +0200 oj  r272102 : #i99104# use column info from rowset
    2009-05-20 08:04:43 +0200 oj  r272101 : #i102032# use a special column type where prec and scale are the values currently set at the column
    2009-05-20 08:03:04 +0200 oj  r272100 : #i102032# correct type info, we have to use SQL defined type names
    2009-05-19 10:27:02 +0200 oj  r272061 : #i99104# export null-date
    2009-05-19 08:26:53 +0200 oj  r272056 : #i99104# export null-date
    2009-05-18 13:15:10 +0200 msc  r272014 : add issue #102019#
    2009-05-18 11:33:07 +0200 msc  r272005 : add issue #102019#
    2009-05-18 08:59:45 +0200 msc  r271996 : add workaroud for issue #102010#
    2009-05-15 10:21:24 +0200 msc  r271929 : #101944#
    2009-05-11 21:18:30 +0200 fs  r271792 : #i99914#
    2009-05-08 13:52:06 +0200 oj  r271715 : #i96423# remember column span
    2009-05-08 11:26:19 +0200 oj  r271708 : #i98605# impl new scale mode
    2009-05-08 10:33:35 +0200 fs  r271706 : SendUserCall: only call into the shape notification routine for UserCall types where this is necessary (performance issue)
    2009-05-07 20:52:44 +0200 fs  r271698 : outsource ShapeProperty from shapepropertynotifier.hxx
    2009-05-07 20:43:33 +0200 fs  r271697 : #i99056# use notifyShapePropertyChange, instead of getShapePropertyChangeNotifier - the latter throws if no shape exists, yet
    2009-05-07 20:33:58 +0200 fs  r271696 : #i99056# +notifyShapePropertyChange: allow notifying chages without checking whether there actually already exists an SvxShape
    2009-05-07 16:22:15 +0200 fs  r271679 : #i10000# cygwin needs quotes around the classpath
    2009-05-07 16:21:37 +0200 fs  r271678 : #i10000# cygwin needs quotes around the classpath
    2009-05-07 16:01:11 +0200 oj  r271677 : #i99914# notify parent handler
    2009-05-07 15:54:54 +0200 fs  r271676 : #i10000# cygwin needs some quoting
    2009-05-07 14:49:48 +0200 oj  r271672 : #i99277# quote alias name
    2009-05-07 14:48:12 +0200 oj  r271671 : #i92538# add ~ in front of type
    2009-05-07 14:37:13 +0200 oj  r271667 : #i99118# change type from char to varchar
    2009-05-07 14:36:23 +0200 oj  r271666 : #i99118# clear dest columns when changing to create new table
    2009-05-07 13:35:32 +0200 oj  r271657 : #i94467# handle type 0 as double as well
    2009-05-07 13:20:49 +0200 oj  r271655 : i99743# setNull when varchar is no text
    2009-05-07 12:58:06 +0200 fs  r271651 : initialize the SdrObject's property change notifier after the ctor, if necessary
    2009-05-07 11:47:18 +0200 fs  r271647 : #i10000#
    2009-05-07 10:57:16 +0200 fs  r271639 : OPropertyBrowserController::propertyChange: care for the current property state, too, and properly forward it to the UI
    2009-05-07 10:18:14 +0200 fs  r271636 : onNewComponent: do not ask the map for grid columns, it will throw
    2009-05-07 10:09:55 +0200 fs  r271634 : #i101623#
    2009-05-07 09:53:44 +0200 fs  r271631 : #i101622#
    2009-05-06 21:55:53 +0200 fs  r271615 : #i10000#
    2009-05-06 21:10:42 +0200 fs  r271611 : #i10000#
    2009-05-06 13:11:48 +0200 fs  r271583 : #i10000#
    2009-05-05 22:29:31 +0200 fs  r271559 : proper assertion message
    2009-05-05 22:29:03 +0200 fs  r271558 : diagnostics
    2009-05-05 22:16:16 +0200 fs  r271557 : #i10000#
    2009-05-05 13:50:32 +0200 fs  r271513 : #i10000#
    2009-05-05 10:21:50 +0200 fs  r271503 : #i10000#
    2009-05-05 09:30:26 +0200 fs  r271501 : why did those survive the rebase -C step?
    2009-05-05 09:18:12 +0200 fs  r271500 : #i10000#
    2009-05-04 17:08:17 +0200 fs  r271475 : CWS-TOOLING: rebase CWS dba32b to trunk at 271427 (milestone: DEV300:m47)
    2009-05-04 14:51:26 +0200 fs  r271456 : line ends
    2009-04-30 15:55:27 +0200 fs  r271418 : NewURL -> PublicConnectionURL
    2009-04-22 21:18:34 +0200 fs  r271141 : #i100944#
    2009-04-22 09:12:26 +0200 oj  r271071 : #i101261# little code change
    2009-04-22 09:11:43 +0200 oj  r271070 : #i101261# only ask for parameters which aren't set before
    2009-04-22 09:11:25 +0200 oj  r271069 : #i101261# new grabage container for nodes
    2009-04-22 09:11:02 +0200 oj  r271068 : #i101261# new grabage container for nodes
    2009-04-22 09:10:44 +0200 oj  r271067 : #i101261# new grabage container for nodes
    2009-04-22 09:10:21 +0200 oj  r271066 : #i101261# only ask for parameters which aren't set before
    2009-04-22 09:08:24 +0200 oj  r271065 : #i101261# only ask for parameters which aren't set before
    2009-04-22 09:07:25 +0200 oj  r271064 : #i101261# only ask for parameters which aren't set before
    2009-04-22 08:49:07 +0200 oj  r271062 : #i77501# preview only when needed
    2009-04-22 08:45:44 +0200 oj  r271061 : #i101261# new prop max rows
    2009-04-22 08:44:18 +0200 oj  r271060 : #i101261# create dataprovider earlier to avoid the wrong legend in chart
    2009-04-22 08:42:48 +0200 oj  r271059 : #i101261# handle parameter
    2009-04-17 21:00:23 +0200 fs  r270954 : #i98350#
    2009-04-17 13:54:19 +0200 fs  r270942 : #i99565#
    2009-04-17 13:51:34 +0200 fs  r270940 : #i101153# only localize the (potentially) localizable properties when there really is support at the control model
    2009-04-17 11:43:14 +0200 fs  r270932 : removed superfluous include
    2009-04-17 10:10:15 +0200 fs  r270926 : #i10000#
    2009-04-17 10:02:36 +0200 fs  r270925 : #i10000#
    2009-04-17 09:15:13 +0200 fs  r270918 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
    2009-04-17 09:14:56 +0200 fs  r270917 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
    2009-04-17 09:13:25 +0200 fs  r270915 : #i99056# some more refactoring of the recently introduced property change notification mechanism for UNO shapes
    2009-04-17 08:30:34 +0200 fs  r270914 : removed unotools/servicehelper.hxx in favour of the (duplicated) comphelper/servicehelper.hxx
    2009-04-16 21:05:25 +0200 fs  r270903 : #i10000#
    2009-04-16 20:43:43 +0200 fs  r270902 : #i99056# shape notification outsourced to the SdrObject, this is what all other shape implementations (which only aggregate an SvxShape) have access to, too
    2009-04-16 15:57:36 +0200 fs  r270891 : #i99056# make SetUnoControlModel virtual
    2009-04-16 15:44:02 +0200 fs  r270890 : #i99056# let the ScShapeObj notify changes in its Anchor property
    2009-04-16 15:36:47 +0200 fs  r270889 : #i99056# enable the sheet anchor type property, too
    2009-04-16 15:33:45 +0200 fs  r270887 : #i99056# shape notification outsourced to the SdrObject, this is what all other shape implementations (which only aggregate an SvxShape) have access to, too
    2009-04-15 14:53:13 +0200 fs  r270844 : #i10000#
    2009-04-15 13:08:29 +0200 fs  r270836 : #i10000#
    2009-04-15 12:28:14 +0200 fs  r270832 : #i10000#
    2009-04-15 10:59:14 +0200 fs  r270827 : #i10000#
    2009-04-15 09:41:08 +0200 oj  r270823 : fix issues found with findbugs and pmd
    2009-04-14 21:08:04 +0200 fs  r270808 : #i99056# implement SheetAnchorType - now the only thing missing to enable it is the proper notification when it is modified
    2009-04-14 17:09:00 +0200 fs  r270799 : #i99056# implement XServiceInfo for the ScShapeObj
    2009-04-14 17:07:55 +0200 fs  r270798 : #i99056# implement TextAnchorType, partially implement SheetAnchorType
    2009-04-14 15:54:05 +0200 fs  r270786 : #i99056# SwXShape: notify changes of the AnchorType property
    2009-04-14 15:47:32 +0200 fs  r270785 : #i99056# deliver shapepropertynotifier.hxx
    2009-04-14 15:46:54 +0200 fs  r270784 : diagnostics
    2009-04-14 15:08:28 +0200 fs  r270781 : #i99056# outsourced the SvxShape's property change notification code into a dedicated class
    2009-04-14 14:41:09 +0200 fs  r270773 : #i99056# outsourced the SvxShape's property change notification code into a dedicated class
    2009-04-14 14:37:23 +0200 fs  r270772 : in dtor, remove the properties from the temporary component context
    2009-04-14 14:36:34 +0200 fs  r270771 : getWeakUnoShape made const
    2009-04-14 12:23:08 +0200 oj  r270757 : #i101064# add missing braces
    2009-04-14 12:21:25 +0200 oj  r270756 : #i101065# add braces for gcc 4.3.2
    2009-04-14 12:17:45 +0200 oj  r270755 : #i101059# add dep for manifest
    2009-04-09 12:06:58 +0200 oj  r270686 : #i93100# use OptimalSize from control to get height
    2009-04-08 09:56:55 +0200 oj  r270619 : #i92537# handle calculations in the select columns as well
    2009-04-08 09:30:39 +0200 oj  r270615 : #i96657# throw error message when the key doesn't have any columns
    2009-04-07 12:08:26 +0200 oj  r270592 : #i77501# impl preview of the executed report
    2009-04-07 12:01:56 +0200 oj  r270591 : #i77501# impl preview of the executed report
    2009-04-07 11:41:03 +0200 oj  r270590 : #i77501# impl preview of the executed report
    2009-04-07 11:39:32 +0200 oj  r270589 : #i77501# impl preview of the executed report
    2009-04-07 11:29:25 +0200 oj  r270588 : #i77501# convert dos to unix lineends
    2009-04-07 11:28:23 +0200 oj  r270587 : #i77501# impl preview of the executed report
    2009-04-07 11:16:50 +0200 oj  r270586 : #i77501# impl preview of the executed report
    2009-04-07 11:16:00 +0200 oj  r270585 : #i77501# impl preview of the executed report
    2009-04-07 11:15:44 +0200 oj  r270584 : #i77501# impl preview of the executed report
    2009-04-07 11:15:28 +0200 oj  r270583 : #i77501# impl preview of the executed report
    2009-04-07 11:15:04 +0200 oj  r270582 : #i77501# impl preview of the executed report
    2009-04-06 15:38:54 +0200 fs  r270559 : merge changes from CWS dba32a herein
    2009-04-03 15:56:16 +0200 fs  r270494 : ImpSvMEdit::Resize: do multiple iterations, if necessary
    2009-04-03 14:35:49 +0200 fs  r270487 : #i10000#
    2009-04-03 13:17:16 +0200 fs  r270476 : #i99056# display geometry information for controls, too
    2009-04-03 13:16:37 +0200 fs  r270475 : #i99056# better ordering of the geometry properties
    2009-04-03 13:16:07 +0200 fs  r270473 : #i99056# now that SvxShape supports property change listeners, forward add/remove requests to it
    2009-04-03 13:13:18 +0200 fs  r270472 : #i99056# at SvxShape, allow for PropertyChangeListeners for Size/Position
    2009-04-03 09:29:27 +0200 oj  r270456 : #i94571# use correct prop name
    2009-04-03 09:14:54 +0200 fs  r270451 : merge changes from CWS dba32a herein
    2009-04-02 17:00:51 +0200 fs  r270424 : better diagnostics
    2009-04-02 16:35:19 +0200 fs  r270421 : diagnostics
    2009-04-02 16:34:50 +0200 fs  r270420 : #i99056# mxUnoShape not accessible anymore, use impl_setUnoShape instead
    2009-04-02 16:32:48 +0200 fs  r270419 : #i99056# make getUnoShape cheaper: keep the pointer to the SvxShape all the time, so there's no need to ask for it in getUnoShape. As a consequence, we will later be able to use the pointer in scenarious where performance (potentially) matters
    2009-04-02 16:31:13 +0200 fs  r270417 : merge changes from CWS dba32a herein
    2009-04-02 16:23:16 +0200 fs  r270414 : merge changes from CWS dba32a herein
    2009-04-02 14:10:35 +0200 fs  r270405 : #i10000#
    2009-04-02 14:06:26 +0200 fs  r270404 : merge changes from CWS dba32a herein
    2009-04-02 14:03:03 +0200 fs  r270401 : #i10000#
    2009-04-02 13:58:13 +0200 fs  r270400 : #i10000#
    2009-04-02 12:59:44 +0200 fs  r270397 : merge changes from CWS dba32a herein
    2009-04-02 12:46:30 +0200 fs  r270396 : #i99056# let the form page maintain a mapping between control models and control shapes
    2009-04-02 12:44:07 +0200 fs  r270395 : merge changes from CWS dba32a herein
    2009-04-02 12:42:06 +0200 fs  r270394 : merge changes from CWS dba32a herein
    2009-04-02 12:35:20 +0200 fs  r270393 : #i10000# precompiled header
    2009-04-02 12:05:31 +0200 fs  r270392 : merge changes from CWS dba32a herein
    2009-04-02 12:00:42 +0200 fs  r270391 : merge changes from CWS dba32a herein
    2009-04-02 11:47:26 +0200 fs  r270390 : merge changes from CWS dba32a herein
    2009-04-02 11:39:15 +0200 oj  r270389 : #i94467# foxpro impl several new types
    2009-04-02 11:35:58 +0200 fs  r270387 : merge changes from CWS dba32a herein
    2009-04-01 14:10:51 +0200 fs  r270329 : merge changes from CWS dba32a herein
    2009-03-31 17:29:50 +0200 fs  r270290 : merge changes from CWS dba32a herein
    2009-03-30 14:53:56 +0200 fs  r270233 : #i100417# don't set grid column widths to 0, but to <void/>
    2009-03-30 12:31:03 +0200 oj  r270213 : #i100552# wrong orb used
    2009-03-30 12:19:20 +0200 oj  r270212 : #i98303# convertlike corrected to sal_Unicode
    2009-03-30 11:58:25 +0200 fs  r270210 : merge changes from CWS dba32a herein
    2009-03-30 11:38:16 +0200 oj  r270205 : remove duplicate code from merge
    2009-03-30 11:02:27 +0200 fs  r270202 : merge changes from CWS dba32a herein
    2009-03-30 11:02:19 +0200 fs  r270201 : merge changes from CWS dba32a herein
    2009-03-30 10:31:26 +0200 oj  r270200 : #i100665# only throw exception and do not drop table
    2009-03-30 09:36:24 +0200 fs  r270195 : assertion text
    2009-03-28 20:21:58 +0100 fs  r270187 : #ii10000#
    2009-03-28 20:19:54 +0100 fs  r270186 : removed unused help ids
    2009-03-28 20:19:40 +0100 fs  r270185 : removed unused help ids
    2009-03-28 20:19:10 +0100 fs  r270184 : #i100237# +DefaultState/XReset
    2009-03-28 00:29:29 +0100 fs  r270177 : CWS-TOOLING: rebase CWS dba32b to trunk at 270033 (milestone: DEV300:m45)
    2009-03-27 22:56:46 +0100 fs  r270173 : #i100237# DEFAULT_CHECKED -> DEFAULT_STATE
    2009-03-27 22:55:52 +0100 fs  r270172 : #i100237# DefaultState property for buttons, enabled only when Toggle=Yes
    2009-03-27 22:54:15 +0100 fs  r270171 : #i100237# DEFAULT_CHECKED -> DEFAULT_STATE
    2009-03-27 22:53:54 +0100 fs  r270170 : #i100237# introduce a DefaultState property for buttons, which implies buttongs supporting XReset, which needed some refactoring
    2009-03-27 13:31:41 +0100 fs  r270152 : ignore output paths
    2009-03-27 11:23:44 +0100 fs  r270139 : tuned behavior with respect to invalid keys/values
    2009-03-27 09:57:14 +0100 fs  r270136 : don't allow Double.NaN
    2009-03-27 09:56:16 +0100 fs  r270135 : talk about Double.NaN
    2009-03-26 12:14:30 +0100 fs  r270067 : removed unused parameter
    2009-03-26 12:14:02 +0100 fs  r270066 : removed widening conversion when checking keys
    2009-03-26 09:17:34 +0100 fs  r270053 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
    2009-03-26 09:17:11 +0100 fs  r270052 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
    2009-03-26 09:16:49 +0100 fs  r270051 : separated the enumerator functionality into a dedicated interface, this way not burdening XMap with it
    2009-03-25 21:55:20 +0100 fs  r270044 : #i100541# properly calculat bNeedScrollBox
    2009-03-25 12:56:17 +0100 fs  r270019 : renamed the previously introduced error condition
    2009-03-25 12:11:48 +0100 fs  r270015 : #i100095# when the error messages contain non-trivial details (SQLState/ErrorCode), then always display the 'Details' button
    2009-03-25 12:10:05 +0100 fs  r270012 : renamed the previously introduced error condition
    2009-03-25 12:01:04 +0100 fs  r270011 : #i100095# when no address book (or respective profile) can be found, then use a dedicated ErrorCondition
    2009-03-25 10:29:07 +0100 fs  r270003 : add missing localization
    2009-03-25 10:23:12 +0100 fs  r270001 : in preparation of #i1000095#:
    rework the error handling, allow using css.sdb.ErrorCondition values, plus
    allow propagating the nsresult
    2009-03-25 10:21:55 +0100 fs  r270000 : in preparation of #i1000095#:
    rework the error handling, allow using css.sdb.ErrorCondition values, plus
    allow propagating the nsresult
    2009-03-20 23:05:38 +0100 fs  r269829 : XMap::getSize removed
    2009-03-20 23:05:19 +0100 fs  r269828 : changes as suggested by sb
    2009-03-20 23:04:56 +0100 fs  r269827 : enhanced documentation
    2009-03-20 15:31:40 +0100 fs  r269815 : changes as suggested by sb
    2009-03-20 13:23:52 +0100 oj  r269804 : #i92538# correct the zorder that fixedtext is infront of control
    2009-03-20 12:59:38 +0100 oj  r269801 : #i94571# paraadjust now supports BLOCK
    2009-03-20 12:58:11 +0100 oj  r269800 : #i94571# export style with data style
    2009-03-20 12:57:05 +0100 oj  r269799 : #i94571# text align is now paraadjust
    2009-03-20 12:37:02 +0100 fs  r269797 : enum keys only accepted if they have the exact type, not if they have *any* enum type
    2009-03-20 12:28:31 +0100 fs  r269794 : some changes requested by sb
    2009-03-20 08:52:47 +0100 fs  r269780 : doc
    2009-03-20 07:37:31 +0100 oj  r269779 : #i99913# only notifiy when values are different
    2009-03-20 07:36:58 +0100 oj  r269778 : #i99913# add undoenv as listener at the dataprovider
    2009-03-19 22:52:52 +0100 fs  r269771 : added comment
    2009-03-19 22:40:06 +0100 fs  r269770 : +testEnumeration
    2009-03-19 22:39:41 +0100 fs  r269769 : implemented enumeration, getKeySet, and getValues. Should be finished now.
    2009-03-19 14:01:01 +0100 oj  r269743 : #i99913# reset the modified state when selecting an object
    2009-03-19 12:19:54 +0100 lla  r269739 : #i72390# cleanups
    2009-03-19 09:25:27 +0100 fs  r269727 : #i10000#
    2009-03-18 23:37:02 +0100 fs  r269708 : extended checks for value type acceptance
    2009-03-18 23:36:41 +0100 fs  r269707 : fixed value type checks
    2009-03-18 14:59:56 +0100 fs  r269678 : initial complex test case for the new css.container.Map implementation
    2009-03-18 14:59:24 +0100 fs  r269677 : verifyExpectedException moved to base class (in complexlib), and renamed to assureException for consistency
    2009-03-18 14:58:35 +0100 fs  r269676 : removed unused imports
    2009-03-18 14:58:03 +0100 fs  r269675 : first implementation of the new css.container.Map service (not completed, yet)
    2009-03-18 14:57:17 +0100 fs  r269674 : base class for UNO components, freeing you from some repeating work
    2009-03-18 14:55:53 +0100 fs  r269672 : +assureException: call a given method with given parameters on a given object, ensure that a given exception is thrown by the method implementation
    2009-03-18 14:54:58 +0100 fs  r269671 : +getComponentContext
    2009-03-18 14:54:00 +0100 fs  r269670 : isEmpty returns a boolean, not a long
    2009-03-18 14:14:43 +0100 oj  r269663 : #i99743# now text also supports null
    2009-03-18 13:54:14 +0100 oj  r269660 : #i99223# remove check for 2 params
    2009-03-18 13:33:35 +0100 oj  r269659 : #i99060# replace text::ParagraphVertAlign with style::VerticalAlignment
    2009-03-18 13:32:18 +0100 oj  r269658 : #i99060# don't set void property when void isn't allowed
    2009-03-18 13:31:11 +0100 oj  r269657 : #i99060# handle vertical alignment
    2009-03-18 13:28:28 +0100 oj  r269656 : #i99060# remove unused elements from sytle
    2009-03-18 09:35:42 +0100 lla  r269639 : #i72390# cleanups
    2009-03-18 09:31:20 +0100 lla  r269638 : #i72390# add ButtonList
    2009-03-18 09:30:46 +0100 lla  r269637 : #i72390# renamed interface
    2009-03-18 09:30:15 +0100 lla  r269636 : #i72390# use ButtonList instead of ImageList
    2009-03-18 09:29:05 +0100 lla  r269635 : #i72390# new ButtonList, cleanups
    2009-03-18 09:26:34 +0100 lla  r269634 : #i72390# cleanups
    2009-03-17 12:21:20 +0100 oj  r269590 : #i99222# remove assertion
    2009-03-17 12:17:22 +0100 oj  r269589 : #i98605# impl scale mode
    2009-03-17 12:10:42 +0100 oj  r269588 : #i98605# impl scale mode
    2009-03-17 11:40:15 +0100 oj  r269584 : #i96944# doesn't create equation for shapes
    2009-03-17 11:33:16 +0100 oj  r269583 : #i96423# switch calc from float to long
    2009-03-16 15:19:18 +0100 fs  r269550 : #i41930# enable zoom for embedded/outplace documents
    2009-03-16 14:25:54 +0100 oj  r269542 : #i93734# remove ContextSensitive
    2009-03-16 14:21:58 +0100 oj  r269541 : #i99274# page header before group header
    2009-03-16 14:18:23 +0100 oj  r269539 : #i99110# fix value type
    2009-03-16 14:14:16 +0100 fs  r269537 : line ends
    2009-03-16 14:11:06 +0100 fs  r269535 : line ends
    2009-03-16 14:08:34 +0100 fs  r269534 : #i100087# (provided my np): allow for polymorphic types with more than one parameter
    2009-03-16 12:30:31 +0100 oj  r269521 : compile error
    2009-03-16 12:19:12 +0100 oj  r269519 : compile error
    2009-03-16 10:39:28 +0100 oj  r269511 : compile error under linux with swap
    2009-03-13 10:33:04 +0100 oj  r269462 : CWS-TOOLING: rebase CWS dba32b to trunk at 269297 (milestone: DEV300:m43)
    2009-03-12 14:37:25 +0100 fs  r269416 : interface SequenceOutputStreamTest is unneeded, and pollutes the namespace here :)
    2009-03-12 14:35:07 +0100 fs  r269414 : not needed
    2009-03-12 14:34:15 +0100 fs  r269413 : preparation for multiple tests in this module
    2009-03-12 14:33:02 +0100 fs  r269412 : ShowTargets was moved from module integration.forms to module complexlib
    2009-03-12 14:32:48 +0100 fs  r269411 : helper class for projects containing multiple complex test cases (and following a certain structure)
    2009-03-12 14:00:14 +0100 fs  r269407 : proper module after the move
    2009-03-12 13:59:10 +0100 fs  r269406 : superseded by ../makefile.mk
    2009-03-12 13:47:38 +0100 fs  r269403 : not needed anymore
    2009-03-12 13:45:46 +0100 fs  r269402 : moved, in preparation of adding more test cases here, with a common infrastructure
    2009-03-12 13:45:07 +0100 fs  r269401 : moved from ../
    2009-03-12 13:43:59 +0100 fs  r269400 : moved to ./comphelper, in preparation of adding more test cases here, with a common infrastructure
    2009-03-12 13:29:47 +0100 oj  r269396 : #i99914# set parent on dataprovider
    2009-03-12 13:10:35 +0100 oj  r269393 : #i99832# check thrown exception and show error
    2009-03-12 13:08:10 +0100 fs  r269392 : reorganizing tests
    2009-03-12 12:52:55 +0100 oj  r269390 : #i99118# convert formatkey in numberformat
    2009-03-12 12:34:53 +0100 fs  r269388 : new API tests
    2009-03-12 12:29:05 +0100 fs  r269386 : Map not yet committed
    2009-03-12 12:28:36 +0100 fs  r269385 : oops, forgot the SequenceInputStream during the previous refactoring
    2009-03-12 12:12:39 +0100 oj  r269384 : #i99104# set HasCategories prop
    2009-03-12 12:12:08 +0100 oj  r269383 : #i99104# check HasCategories even for internal dataprovider
    2009-03-12 12:10:40 +0100 oj  r269382 : #i99104# set HasCategories prop
    2009-03-12 10:51:49 +0100 fs  r269373 : #i10000# exception specifications
    2009-03-12 10:49:18 +0100 fs  r269372 : #i10000# exception specifications
    2009-03-12 10:44:02 +0100 fs  r269371 : #i10000# exception specifications
    2009-03-12 10:30:55 +0100 fs  r269368 : refactored the UNO service registration in this module, using the helper classes provided by comphelper itself, so you have less effort when extending the list of to-be-registered components
    2009-03-12 10:30:37 +0100 fs  r269367 : module-local includes
    2009-03-12 07:05:54 +0100 oj  r269357 : #i99104# database dataprovider doesn't need dataranges and diagramdata
    2009-03-11 10:58:28 +0100 oj  r269306 : #i99911# check if name of the report is a valid file name
    2009-03-11 10:03:23 +0100 oj  r269299 : #i99666# the report is new when the HierarchicalDocumentName is empty
    2009-03-10 11:32:45 +0100 oj  r269258 : #i99221# use fallback for language
    2009-03-10 10:48:40 +0100 oj  r269255 : #i99433# now use OStringBuffer
    2009-03-10 10:36:21 +0100 fs  r269252 : initial version of (X)Map
    2009-03-10 09:52:23 +0100 oj  r269246 : #i99433# now use OStringBuffer
    2009-03-10 08:56:13 +0100 oj  r269240 : #i99655# patch applied
    2009-03-09 07:35:33 +0100 lla  r269058 : #i10000# wrong variable assignment fixed
    2009-03-06 17:20:40 +0100 fs  r269030 : some explicit defaults
    2009-03-06 17:20:30 +0100 fs  r269029 : #i98600#
    2009-03-06 14:40:34 +0100 fs  r269009 : #i87692# during reload, prevent the document being modified just because of some control content changes ...
    2009-03-06 12:52:20 +0100 lla  r268997 : #i10000# ambigous problem with FontWeight fixed
    2009-03-06 11:39:32 +0100 fs  r268989 : #i10000# (approved by pl): use --without-t1-library configure option
    2009-03-06 10:55:43 +0100 fs  r268986 : #i99953# depends on xmlscript module now
    2009-03-06 10:54:04 +0100 fs  r268985 : #i99953# also adjust the event names found in dialogs embedded in the forms
    2009-03-06 09:53:41 +0100 fs  r268977 : #i10000#
    2009-03-06 09:30:41 +0100 lla  r268973 : #i10000# merge problems
    2009-03-05 17:52:34 +0100 fs  r268932 : #i98593# for sub components which are actually controlled by a DocumentDefinition (aka XComponentSupplier aka XCommandProcessor), close them by executing the 'close' command, not by suspending/closing the controller (which cannot be intercepted)
    2009-03-05 11:41:56 +0100 fs  r268889 : default the drop down line count for list/combo boxes to 20
    2009-03-05 11:39:10 +0100 fs  r268887 : do not display empty error messages
    2009-03-02 10:13:57 +0100 lla  r268639 : #i91541# CWS rebase m41 to m42
    2009-03-02 09:06:27 +0100 lla  r268635 : #i10000# add ';' to strings
    2009-02-26 11:18:00 +0100 fs  r268492 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN
    2009-02-26 10:11:38 +0100 lla  r268489 : CWS-TOOLING: rebase CWS dba32b to trunk at 268395 (milestone: DEV300:m42)
    2009-02-26 09:04:11 +0100 lla  r268488 : CWS-TOOLING: rebase CWS dba32b to trunk at 268395 (milestone: DEV300:m42)
    2009-02-24 12:09:13 +0100 lla  r268392 : #i91541# #i91542# cleanups
    2009-02-24 08:08:06 +0100 lla  r268382 : merge all dba32a changes into dba32b
    2009-02-24 07:14:55 +0100 lla  r268381 : merge all dba32a changes into dba32b
    2009-02-23 21:44:28 +0100 fs  r268377 : oops ... don't tamper with m_aListSourceValues at the end of loadData
    2009-02-23 20:57:05 +0100 fs  r268376 : #i98162# don't hold the values as strings, but as ORowSetValue, this way preserving their type, and being agnostic to different result/rowset implementations doing different to-string-conversations
    2009-02-23 20:55:44 +0100 fs  r268375 : getObject: throwFunctionNotSupportedException, instead of silently returning NULL
    2009-02-23 20:55:20 +0100 fs  r268374 : #i98162# some more supported types
    2009-02-23 20:54:43 +0100 fs  r268373 : #i98162# +operator !=
    2009-02-20 09:35:39 +0100 fs  r268306 : #i99422# for a font, display the font name, the style, and the size
    2009-02-20 09:33:45 +0100 fs  r268305 : #i99422# in the property browser, FONT supersedes CHARFONTNAME: the aggregated FormComponentHandler displays them more nicely now
    2009-02-19 16:12:06 +0100 fs  r268293 : #i99372# recognize DataType::FLOAT as numeric
    2009-02-19 15:43:12 +0100 fs  r268291 : #i99415#
    2009-02-19 15:40:15 +0100 fs  r268290 : #i99242# lcl_firstFocussableControl: take disabled controls into account
    2009-02-19 15:34:36 +0100 fs  r268289 : #i99396# properly decode the base name of the URL when using it as title
    2009-02-19 15:19:05 +0100 fs  r268287 : #i98247#

diff --git a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
index 4b08f6a..25fd9f9 100644
--- a/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
+++ b/chart2/source/controller/chartapiwrapper/ChartDocumentWrapper.cxx
@@ -55,6 +55,7 @@
 #include "LegendWrapper.hxx"
 #include "AreaWrapper.hxx"
 #include "WrappedAddInProperty.hxx"
+#include "WrappedIgnoreProperty.hxx"
 #include "ChartRenderer.hxx"
 #include <com/sun/star/chart2/XTitled.hpp>
 #include <com/sun/star/chart2/data/XDataReceiver.hpp>
@@ -69,6 +70,7 @@
 #include <com/sun/star/beans/PropertyAttribute.hpp>
 #include <com/sun/star/lang/DisposedException.hpp>
 #include <com/sun/star/lang/XInitialization.hpp>
+#include <com/sun/star/util/DateTime.hpp>
 
 #include <vector>
 #include <algorithm>
@@ -150,7 +152,8 @@ enum
     PROP_DOCUMENT_ADDIN,
     PROP_DOCUMENT_BASEDIAGRAM,
     PROP_DOCUMENT_ADDITIONAL_SHAPES,
-    PROP_DOCUMENT_UPDATE_ADDIN
+    PROP_DOCUMENT_UPDATE_ADDIN,
+    PROP_DOCUMENT_NULL_DATE
 };
 
 void lcl_AddPropertiesToVector(
@@ -214,6 +217,13 @@ void lcl_AddPropertiesToVector(
                   PROP_DOCUMENT_UPDATE_ADDIN,
                   ::getBooleanCppuType(),
                   beans::PropertyAttribute::BOUND ));
+
+    // table:null-date // i99104
+    rOutProperties.push_back(
+        Property( C2U( "NullDate" ),
+                  PROP_DOCUMENT_NULL_DATE,
+                  ::getCppuType( static_cast< const ::com::sun::star::util::DateTime * >(0)),
+                  beans::PropertyAttribute::MAYBEVOID ));
 }
 
 const uno::Sequence< Property > & lcl_GetPropertySequence()
@@ -695,7 +705,6 @@ Any WrappedHasSubTitleProperty::getPropertyDefault( const Reference< beans::XPro
 //-----------------------------------------------------------------------------------------------------------------
 //-----------------------------------------------------------------------------------------------------------------
 //-----------------------------------------------------------------------------------------------------------------
-
 ChartDocumentWrapper::ChartDocumentWrapper(
     const Reference< uno::XComponentContext > & xContext ) :
         m_spChart2ModelContact( new Chart2ModelContact( xContext ) ),
@@ -1631,7 +1640,8 @@ const std::vector< WrappedProperty* > ChartDocumentWrapper::createWrappedPropert
     aWrappedProperties.push_back( new WrappedBaseDiagramProperty( *this ) );
     aWrappedProperties.push_back( new WrappedAdditionalShapesProperty( *this ) );
     aWrappedProperties.push_back( new WrappedRefreshAddInAllowedProperty( *this ) );
-    
+    aWrappedProperties.push_back( new WrappedIgnoreProperty( C2U("NullDate"),Any() ) ); // i99104
+
     return aWrappedProperties;
 }
 
diff --git a/chart2/source/controller/main/ControllerCommandDispatch.cxx b/chart2/source/controller/main/ControllerCommandDispatch.cxx
index 74580b6..bb50636 100644
--- a/chart2/source/controller/main/ControllerCommandDispatch.cxx
+++ b/chart2/source/controller/main/ControllerCommandDispatch.cxx
@@ -52,6 +52,7 @@
 #include <com/sun/star/chart2/XChartType.hpp>
 #include <com/sun/star/chart2/XDataSeries.hpp>
 #include <com/sun/star/chart2/XRegressionCurve.hpp>
+#include <com/sun/star/chart2/data/XDatabaseDataProvider.hpp>
 
 // only needed until #i68864# is fixed
 #include <com/sun/star/frame/XLayoutManager.hpp>
diff --git a/chart2/source/inc/chartview/NumberFormatterWrapper.hxx b/chart2/source/inc/chartview/NumberFormatterWrapper.hxx
index 666ad2a..0c8ee88 100644
--- a/chart2/source/inc/chartview/NumberFormatterWrapper.hxx
+++ b/chart2/source/inc/chartview/NumberFormatterWrapper.hxx
@@ -61,6 +61,7 @@ private: //private member
                         m_xNumberFormatsSupplier;
 
     SvNumberFormatter* m_pNumberFormatter;
+    ::com::sun::star::uno::Any m_aNullDate;
 };
 
 
diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx
index 3e4ad96..1673908 100644
--- a/chart2/source/tools/InternalDataProvider.cxx
+++ b/chart2/source/tools/InternalDataProvider.cxx
@@ -999,8 +999,9 @@ Reference< chart2::data::XDataSource > SAL_CALL InternalDataProvider::createData
     impl::InternalData & rData( getInternalData());
 
     // categories
-    aResultLSeqVec.push_back(
-        new LabeledDataSequence( createDataSequenceAndAddToMap( lcl_aCategoriesRangeName, lcl_aCategoriesRoleName )));
+    if ( bHasCategories )
+        aResultLSeqVec.push_back(
+            new LabeledDataSequence( createDataSequenceAndAddToMap( lcl_aCategoriesRangeName, lcl_aCategoriesRoleName )));
 
     // data with labels
     ::std::vector< Reference< chart2::data::XLabeledDataSequence > > aDataVec;
diff --git a/chart2/source/tools/UncachedDataSequence.cxx b/chart2/source/tools/UncachedDataSequence.cxx
index cab2a86..b9a588f 100644
--- a/chart2/source/tools/UncachedDataSequence.cxx
+++ b/chart2/source/tools/UncachedDataSequence.cxx
@@ -77,6 +77,7 @@ UncachedDataSequence::UncachedDataSequence(
     const OUString & rRangeRepresentation )
         : OPropertyContainer( GetBroadcastHelper()),
           UncachedDataSequence_Base( GetMutex()),
+          m_nNumberFormatKey(0),
           m_xDataProvider( xIntDataProv ),
           m_aSourceRepresentation( rRangeRepresentation ),
           m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder())
@@ -90,6 +91,7 @@ UncachedDataSequence::UncachedDataSequence(
     const OUString & rRole )
         : OPropertyContainer( GetBroadcastHelper()),
           UncachedDataSequence_Base( GetMutex()),
+          m_nNumberFormatKey(0),
           m_xDataProvider( xIntDataProv ),
           m_aSourceRepresentation( rRangeRepresentation ),
           m_xModifyEventForwarder( ModifyListenerHelper::createModifyEventForwarder())
@@ -248,7 +250,7 @@ Sequence< OUString > SAL_CALL UncachedDataSequence::generateLabel( chart2::data:
     throw (lang::IndexOutOfBoundsException,
            uno::RuntimeException)
 {
-    return 0;
+    return m_nNumberFormatKey;
 }
 
 // ____ XIndexReplace ____
diff --git a/chart2/source/view/main/NumberFormatterWrapper.cxx b/chart2/source/view/main/NumberFormatterWrapper.cxx
index e84f5be..3068358 100644
--- a/chart2/source/view/main/NumberFormatterWrapper.cxx
+++ b/chart2/source/view/main/NumberFormatterWrapper.cxx
@@ -40,6 +40,7 @@
 #include <tools/color.hxx>
 #include <i18npool/mslangid.hxx>
 #include <tools/debug.hxx>
+#include <com/sun/star/util/DateTime.hpp>
 
 //.............................................................................
 namespace chart
@@ -83,6 +84,10 @@ NumberFormatterWrapper::NumberFormatterWrapper( const uno::Reference< util::XNum
                     , m_pNumberFormatter(NULL)
 
 {
+    uno::Reference<beans::XPropertySet> xProp(m_xNumberFormatsSupplier,uno::UNO_QUERY);
+    rtl::OUString sNullDate( RTL_CONSTASCII_USTRINGPARAM("NullDate"));
+    if ( xProp.is() && xProp->getPropertySetInfo()->hasPropertyByName(sNullDate) )
+        m_aNullDate = xProp->getPropertyValue(sNullDate);
     SvNumberFormatsSupplierObj* pSupplierObj = SvNumberFormatsSupplierObj::getImplementation( xSupplier );
     if( pSupplierObj )
         m_pNumberFormatter = pSupplierObj->GetNumberFormatter();
@@ -108,8 +113,27 @@ rtl::OUString NumberFormatterWrapper::getFormattedString(
         DBG_ERROR("Need a NumberFormatter");
         return aText;
     }
+    // i99104 handle null date correctly
+    USHORT nYear = 1899,nDay = 30,nMonth = 12;
+    if ( m_aNullDate.hasValue() )
+    {
+        Date* pDate = m_pNumberFormatter->GetNullDate();
+        if ( pDate )
+        {
+            nYear = pDate->GetYear();
+            nMonth = pDate->GetMonth();
+            nDay = pDate->GetDay();
+        } // if ( pDate )
+        util::DateTime aNewNullDate;
+        m_aNullDate >>= aNewNullDate;
+        m_pNumberFormatter->ChangeNullDate(aNewNullDate.Day,aNewNullDate.Month,aNewNullDate.Year);
+    }
     m_pNumberFormatter->GetOutputString(
         fValue, nNumberFormatKey, aText, &pTextColor);
+    if ( m_aNullDate.hasValue() )
+    {
+        m_pNumberFormatter->ChangeNullDate(nDay,nMonth,nYear);
+    }
     rtl::OUString aRet( aText );
 
     if(pTextColor)
diff --git a/sc/inc/shapeuno.hxx b/sc/inc/shapeuno.hxx
index c616535..402aebc 100644
--- a/sc/inc/shapeuno.hxx
+++ b/sc/inc/shapeuno.hxx
@@ -37,9 +37,11 @@
 #include <com/sun/star/text/XTextContent.hpp>
 #include <com/sun/star/text/XText.hpp>
 #include <com/sun/star/lang/XTypeProvider.hpp>
-
+#include <com/sun/star/lang/XServiceInfo.hpp>
 #include <com/sun/star/document/XEventsSupplier.hpp>
-#include <cppuhelper/weak.hxx>
+
+#include <cppuhelper/implbase5.hxx>
+#include <cppuhelper/implbase1.hxx>
 
 namespace com { namespace sun { namespace star {
     namespace uno {
@@ -59,13 +61,16 @@ class ShapeUnoEventAccessImpl;
 //	object which aggregates all svx shape objects,
 //	to add own properties
 
-class ScShapeObj : public ::cppu::OWeakObject,
-                    public ::com::sun::star::beans::XPropertySet,
-                    public ::com::sun::star::beans::XPropertyState,
-                    public ::com::sun::star::text::XTextContent,
-                    public ::com::sun::star::text::XText,
-                    public ::com::sun::star::lang::XTypeProvider,
-                    public ::com::sun::star::document::XEventsSupplier
+typedef ::cppu::WeakImplHelper5 <   ::com::sun::star::beans::XPropertySet
+                                ,   ::com::sun::star::beans::XPropertyState
+                                ,   ::com::sun::star::text::XTextContent
+                                ,   ::com::sun::star::document::XEventsSupplier
+                                ,   ::com::sun::star::lang::XServiceInfo
+                                >   ScShapeObj_Base;
+typedef ::cppu::ImplHelper1     <   ::com::sun::star::text::XText
+                                >   ScShapeObj_TextBase;
+class ScShapeObj    :public ScShapeObj_Base
+                    ,public ScShapeObj_TextBase
 {
 private:
     ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation > mxShapeAgg;
@@ -75,6 +80,7 @@ private:
     ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > mxPropSetInfo;
     com::sun::star::uno::Sequence< sal_Int8 >*                              pImplementationId;
     BOOL																	bIsTextShape;
+    bool                                                                    bInitializedNotifier;
 
     SdrObject* GetSdrObject() const throw();
 
@@ -225,6 +231,14 @@ public:
                             // XEventsSupplier
     virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameReplace > SAL_CALL getEvents()
                                 throw(::com::sun::star::uno::RuntimeException);
+
+                            // XServiceInfo
+    virtual ::rtl::OUString SAL_CALL getImplementationName(  )
+                                throw (::com::sun::star::uno::RuntimeException) ;
+    virtual ::sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName )
+                                throw (::com::sun::star::uno::RuntimeException);
+    virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(  )
+                                throw (::com::sun::star::uno::RuntimeException);
 };
 
 #endif
diff --git a/sc/qa/complex/calcPreview/makefile.mk b/sc/qa/complex/calcPreview/makefile.mk
index c0051be..76a6afb 100755
--- a/sc/qa/complex/calcPreview/makefile.mk
+++ b/sc/qa/complex/calcPreview/makefile.mk
@@ -88,7 +88,7 @@ $(CLASSDIR)$/$(PACKAGE)$/$(JAVAFILES:b).props : ALLDEP
 
 
 RUN:
-    +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTDOCS) $(CT_TESTBASE) $(CT_WORKDIR) $(CT_TIMEOUT) $(CT_TEST)
+    +java -cp "$(CLASSPATH)" $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTDOCS) $(CT_TESTBASE) $(CT_WORKDIR) $(CT_TIMEOUT) $(CT_TEST)
 
 run: RUN
 
diff --git a/sc/qa/complex/cellRanges/makefile.mk b/sc/qa/complex/cellRanges/makefile.mk
index 0271174..5af9bcf 100755
--- a/sc/qa/complex/cellRanges/makefile.mk
+++ b/sc/qa/complex/cellRanges/makefile.mk
@@ -77,5 +77,5 @@ CT_APP      = org.openoffice.Runner
 RUN: run
 
 run:
-    +java -cp $(CLASSPATH) $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
+    +java -cp "$(CLASSPATH)" $(CT_APP) $(CT_APPEXECCOMMAND) $(CT_TESTBASE) $(CT_TEST)
 
diff --git a/sc/qa/complex/sc/makefile.mk b/sc/qa/complex/sc/makefile.mk
index e3c7fec..d25e004 100644
--- a/sc/qa/complex/sc/makefile.mk
+++ b/sc/qa/complex/sc/makefile.mk
@@ -58,4 +58,4 @@ JARCOMPRESS 	= TRUE
 
 
 run:
-    +java -cp $(CLASSPATH) org.openoffice.Runner -TimeOut 0 -tb java_complex -o $(PACKAGE:s#$/#.#).$(JAVAFILES:b)
+    +java -cp "$(CLASSPATH)" org.openoffice.Runner -TimeOut 0 -tb java_complex -o $(PACKAGE:s#$/#.#).$(JAVAFILES:b)
diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx
index 4782b61..e7a8572 100644
--- a/sc/source/core/data/drwlayer.cxx
+++ b/sc/source/core/data/drwlayer.cxx
@@ -60,6 +60,7 @@
 #include <svx/drawitem.hxx>
 #include <svx/fhgtitem.hxx>
 #include <svx/scriptspaceitem.hxx>
+#include <svx/shapepropertynotifier.hxx>
 #include <sfx2/viewsh.hxx>
 #include <sfx2/docfile.hxx>
 #include <sot/storage.hxx>
@@ -1809,10 +1810,15 @@ void ScDrawLayer::EnsureGraphicNames()
 
 void ScDrawLayer::SetAnchor( SdrObject* pObj, ScAnchorType eType )
 {
+    ScAnchorType eOldAnchorType = GetAnchor( pObj );
+
     // Ein an der Seite verankertes Objekt zeichnet sich durch eine Anker-Pos
     // von (0,1) aus. Das ist ein shabby Trick, der aber funktioniert!
     Point aAnchor( 0, eType == SCA_PAGE ? 1 : 0 );
     pObj->SetAnchorPos( aAnchor );
+
+    if ( eOldAnchorType != eType )
+        pObj->notifyShapePropertyChange( ::svx::eSpreadsheetAnchor );
 }
 
 ScAnchorType ScDrawLayer::GetAnchor( const SdrObject* pObj )
diff --git a/sc/source/ui/inc/AccessibleContextBase.hxx b/sc/source/ui/inc/AccessibleContextBase.hxx
index c504b1e..5cb0723 100644
--- a/sc/source/ui/inc/AccessibleContextBase.hxx
+++ b/sc/source/ui/inc/AccessibleContextBase.hxx
@@ -53,7 +53,7 @@
 #include <svtools/lstner.hxx>
 #include <cppuhelper/compbase5.hxx>
 #include <cppuhelper/implbase1.hxx>
-#include <unotools/servicehelper.hxx>
+#include <comphelper/servicehelper.hxx>
 #include <comphelper/broadcasthelper.hxx>
 
 class Rectangle;
diff --git a/sc/source/ui/unoobj/shapeuno.cxx b/sc/source/ui/unoobj/shapeuno.cxx
index 17e7c98..5396512 100644
--- a/sc/source/ui/unoobj/shapeuno.cxx
+++ b/sc/source/ui/unoobj/shapeuno.cxx
@@ -39,6 +39,7 @@
 #include <svx/svdobj.hxx>
 #include <svx/unoshape.hxx>
 #include <svx/unofield.hxx>
+#include <svx/shapepropertynotifier.hxx>
 #include <toolkit/helper/convert.hxx>
 #include <cppuhelper/implbase2.hxx>
 
@@ -89,11 +90,23 @@ const SvEventDescription* ScShapeObj::GetSupportedMacroItems()
 
 //------------------------------------------------------------------------
 
+namespace
+{
+    void lcl_initializeNotifier( SdrObject& _rSdrObj, ::cppu::OWeakObject& _rShape )
+    {
+        ::svx::PPropertyValueProvider pProvider( new ::svx::PropertyValueProvider( _rShape, "Anchor" ) );
+        _rSdrObj.getShapePropertyChangeNotifier().registerProvider( ::svx::eSpreadsheetAnchor, pProvider );
+    }
+}
+
+//------------------------------------------------------------------------
+
 ScShapeObj::ScShapeObj( uno::Reference<drawing::XShape>& xShape ) :
       pShapePropertySet(NULL),
       pShapePropertyState(NULL),
       pImplementationId(NULL),
-      bIsTextShape(FALSE)
+      bIsTextShape(FALSE),
+      bInitializedNotifier(false)
 {
     comphelper::increment( m_refCount );
 
@@ -113,6 +126,15 @@ ScShapeObj::ScShapeObj( uno::Reference<drawing::XShape>& xShape ) :
         bIsTextShape = ( SvxUnoTextBase::getImplementation( mxShapeAgg ) != NULL );
     }
 
+    {
+        SdrObject* pObj = GetSdrObject();
+        if ( pObj )
+        {
+            lcl_initializeNotifier( *pObj, *this );
+            bInitializedNotifier = true;
+        }
+    }
+
     comphelper::decrement( m_refCount );
 }
 
@@ -127,22 +149,11 @@ ScShapeObj::~ScShapeObj()
 uno::Any SAL_CALL ScShapeObj::queryInterface( const uno::Type& rType )
                                                 throw(uno::RuntimeException)
 {
-    SC_QUERYINTERFACE( beans::XPropertySet )
-    SC_QUERYINTERFACE( beans::XPropertyState )
-    SC_QUERYINTERFACE( text::XTextContent )
-    SC_QUERYINTERFACE( lang::XComponent )
-    SC_QUERYINTERFACE( document::XEventsSupplier )
-    if ( bIsTextShape )
-    {
-        //	#105585# for text shapes, XText (and parent interfaces) must
-        //	be handled here, too (for ScCellFieldObj handling):
-        SC_QUERYINTERFACE( text::XText )
-        SC_QUERYINTERFACE( text::XSimpleText )
-        SC_QUERYINTERFACE( text::XTextRange )
-    }
-    SC_QUERYINTERFACE( lang::XTypeProvider )
+    uno::Any aRet = ScShapeObj_Base::queryInterface( rType );
+
+    if ( !aRet.hasValue() && bIsTextShape )
+        aRet = ScShapeObj_TextBase::queryInterface( rType );
 
-    uno::Any aRet(OWeakObject::queryInterface( rType ));
     if ( !aRet.hasValue() && mxShapeAgg.is() )
         aRet = mxShapeAgg->queryAggregation( rType );
 
@@ -151,12 +162,12 @@ uno::Any SAL_CALL ScShapeObj::queryInterface( const uno::Type& rType )
 
 void SAL_CALL ScShapeObj::acquire() throw()
 {
-    OWeakObject::acquire();
+        OWeakObject::acquire();
 }
 
 void SAL_CALL ScShapeObj::release() throw()
 {
-    OWeakObject::release();
+        OWeakObject::release();
 }
 
 void ScShapeObj::GetShapePropertySet()
@@ -828,6 +839,18 @@ void SAL_CALL ScShapeObj::addPropertyChangeListener( const rtl::OUString& aPrope
     GetShapePropertySet();
     if (pShapePropertySet)
         pShapePropertySet->addPropertyChangeListener( aPropertyName, aListener );
+
+    if ( !bInitializedNotifier )
+    {
+        // here's the latest chance to initialize the property notification at the SdrObject
+        // (in the ctor, where we also attempt to do this, we do not necessarily have
+        // and SdrObject, yet)
+        SdrObject* pObj = GetSdrObject();
+        OSL_ENSURE( pObj, "ScShapeObj::addPropertyChangeListener: no SdrObject -> no property change notification!" );
+        if ( pObj )
+            lcl_initializeNotifier( *pObj, *this );
+        bInitializedNotifier = true;
+    }
 }
 
 void SAL_CALL ScShapeObj::removePropertyChangeListener( const rtl::OUString& aPropertyName,
@@ -1245,23 +1268,22 @@ void SAL_CALL ScShapeObj::setString( const rtl::OUString& aText ) throw(uno::Run
 
 uno::Sequence<uno::Type> SAL_CALL ScShapeObj::getTypes() throw(uno::RuntimeException)
 {
-    uno::Sequence< uno::Type > aTypeSequence;
+    uno::Sequence< uno::Type > aBaseTypes( ScShapeObj_Base::getTypes() );
+
+    uno::Sequence< uno::Type > aTextTypes;
+    if ( bIsTextShape )
+        aTextTypes = ScShapeObj_TextBase::getTypes();
 
     uno::Reference<lang::XTypeProvider> xBaseProvider;
     if ( mxShapeAgg.is() )
         mxShapeAgg->queryAggregation( getCppuType((uno::Reference<lang::XTypeProvider>*) 0) ) >>= xBaseProvider;
-
     DBG_ASSERT( xBaseProvider.is(), "ScShapeObj: No XTypeProvider from aggregated shape!" );
+
+    uno::Sequence< uno::Type > aAggTypes;
     if( xBaseProvider.is() )
-    {
-        aTypeSequence = xBaseProvider->getTypes();
-        long nBaseLen = aTypeSequence.getLength();
+        aAggTypes = xBaseProvider->getTypes();
 
-        aTypeSequence.realloc( nBaseLen + 1 );
-        uno::Type* pPtr = aTypeSequence.getArray();
-        pPtr[nBaseLen + 0] = getCppuType((const uno::Reference<text::XTextContent>*)0);
-    }
-    return aTypeSequence;
+    return ::comphelper::concatSequences( aBaseTypes, aTextTypes, aAggTypes );
 }
 
 uno::Sequence<sal_Int8> SAL_CALL ScShapeObj::getImplementationId()
@@ -1469,3 +1491,34 @@ ScShapeObj::getEvents(  ) throw(uno::RuntimeException)
     return new ShapeUnoEventAccessImpl( this );
 }
 
+::rtl::OUString SAL_CALL ScShapeObj::getImplementationName(  ) throw (uno::RuntimeException)
+{
+    return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.comp.sc.ScShapeObj" ) );
+}
+
+::sal_Bool SAL_CALL ScShapeObj::supportsService( const ::rtl::OUString& _ServiceName ) throw (uno::RuntimeException)
+{
+    uno::Sequence< ::rtl::OUString > aSupported( getSupportedServiceNames() );
+    for ( const ::rtl::OUString* pSupported = aSupported.getConstArray();
+          pSupported != aSupported.getConstArray() + aSupported.getLength();
+          ++pSupported
+        )
+        if ( _ServiceName == *pSupported )
+            return sal_True;
+    return sal_False;
+}
+
+uno::Sequence< ::rtl::OUString > SAL_CALL ScShapeObj::getSupportedServiceNames(  ) throw (uno::RuntimeException)
+{
+    uno::Reference<lang::XServiceInfo> xSI;
+    if ( mxShapeAgg.is() )
+        mxShapeAgg->queryAggregation( lang::XServiceInfo::static_type() ) >>= xSI;
+
+    uno::Sequence< ::rtl::OUString > aSupported;
+    if ( xSI.is() )
+        aSupported = xSI->getSupportedServiceNames();
+
+    aSupported.realloc( aSupported.getLength() + 1 );
+    aSupported[ aSupported.getLength() - 1 ] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.sheet.Shape" ) );
+    return aSupported;
+}


More information about the ooo-build-commit mailing list