[ooo-build-commit] Branch 'ooo/master' - autodoc/inc autodoc/source

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Jun 5 19:01:26 PDT 2009


 autodoc/inc/ary/idl/i_type.hxx                    |   30 ++++++++--
 autodoc/inc/ary/idl/ip_type.hxx                   |    3 -
 autodoc/source/ary/idl/i2s_calculator.cxx         |    4 -
 autodoc/source/ary/idl/ia_type.cxx                |   44 +++++++++++----
 autodoc/source/ary/idl/ia_type.hxx                |    6 +-
 autodoc/source/ary/idl/it_ce.cxx                  |   16 +++--
 autodoc/source/ary/idl/it_ce.hxx                  |   13 ++--
 autodoc/source/ary/idl/it_explicit.cxx            |   13 ++--
 autodoc/source/ary/idl/it_explicit.hxx            |   11 ++-
 autodoc/source/ary/idl/it_sequence.cxx            |    5 +
 autodoc/source/ary/idl/it_sequence.hxx            |    3 +
 autodoc/source/ary/idl/it_tplparam.cxx            |   12 +++-
 autodoc/source/display/idl/hfi_typetext.cxx       |   64 ++++++++++++----------
 autodoc/source/display/idl/hfi_typetext.hxx       |   10 ++-
 autodoc/source/parser_i/idl/pe_type2.cxx          |   22 ++++++-
 autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx |    2 
 16 files changed, 177 insertions(+), 81 deletions(-)

New commits:
commit 172b9348d466857fdea6467cca694ff444a725fe
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/autodoc/inc/ary/idl/i_type.hxx b/autodoc/inc/ary/idl/i_type.hxx
index af147aa..68d3bb5 100644
--- a/autodoc/inc/ary/idl/i_type.hxx
+++ b/autodoc/inc/ary/idl/i_type.hxx
@@ -80,14 +80,22 @@ class Type : public ary::Entity
     // INQUIRY
     Type_id             TypeId() const          { return Type_id(Id()); }
 
-    /// @descr Does NOT clear the output-parameters.
+    /** Does NOT clear the output-parameters.
+
+        @attention
+        If this is a sequence, the text of the first non-sequence, enclosed type
+        is returned.
+    */
     void                Get_Text(
                             StringVector &      o_module,
                             String &            o_name,
                             Ce_id &             o_nRelatedCe,
                             int &               o_nSequenceCount,
                             const Gate &        i_rGate ) const;
-    Type_id             TemplateParameterType() const;
+    const std::vector<Type_id> *
+                        TemplateParameters() const;
+    const Type &        FirstEnclosedNonSequenceType(   /// @return *this, if this is not a ->Sequence.
+                            const Gate &        i_rGate ) const;
 
   private:
     virtual void        inq_Get_Text(
@@ -96,7 +104,11 @@ class Type : public ary::Entity
                             Ce_id &             o_nRelatedCe,
                             int &               o_nSequemceCount,
                             const Gate &        i_rGate ) const = 0;
-    virtual Type_id     inq_TemplateParameterType() const;
+    virtual const std::vector<Type_id> *
+                        inq_TemplateParameters() const;
+    virtual const Type &
+                        inq_FirstEnclosedNonSequenceType(
+                            const Gate &        i_rGate ) const;
 };
 
 
@@ -113,10 +125,16 @@ Type::Get_Text( StringVector &      o_module,
     inq_Get_Text(o_module,o_name,o_nRelatedCe,o_nSequenceCount,i_rGate);
 }
 
-inline Type_id
-Type::TemplateParameterType() const
+inline const std::vector<Type_id> *
+Type::TemplateParameters() const
+{
+    return inq_TemplateParameters();
+}
+
+inline const Type &
+Type::FirstEnclosedNonSequenceType(const Gate & i_rGate) const
 {
-    return inq_TemplateParameterType();
+    return inq_FirstEnclosedNonSequenceType(i_rGate);
 }
 
 
diff --git a/autodoc/inc/ary/idl/ip_type.hxx b/autodoc/inc/ary/idl/ip_type.hxx
index 395e498..2948ff3 100644
--- a/autodoc/inc/ary/idl/ip_type.hxx
+++ b/autodoc/inc/ary/idl/ip_type.hxx
@@ -61,7 +61,8 @@ class TypePilot
                             QualifiedName &     i_rFullName,
                             uintt               i_nSequenceCount,
                             Ce_id               i_nModuleOfOccurrence,
-                            Type_id             i_nTemplateType ) = 0;
+                            const std::vector<Type_id> *
+                                                i_templateParameters ) = 0;
     // INQUIRY
     virtual const Type &
                         Find_Type(
diff --git a/autodoc/source/ary/idl/i2s_calculator.cxx b/autodoc/source/ary/idl/i2s_calculator.cxx
index 2418bd5..0069b0d 100644
--- a/autodoc/source/ary/idl/i2s_calculator.cxx
+++ b/autodoc/source/ary/idl/i2s_calculator.cxx
@@ -183,7 +183,7 @@ SecondariesCalculator::CheckAllInterfaceBases()
         rType = pTypes->CheckIn_Type(   aXInterface,
                                         0,
                                         rGlobalNamespace.CeId(),
-                                        Type_id( 0 ) );
+                                        0 );
     Type_id
         nTypeXInterface = rType.TypeId();
     const ExplicitType &
@@ -227,7 +227,7 @@ SecondariesCalculator::Connect_Types2Ces()
         if (nRelatedCe.IsValid())
         {
             Ce_Type *
-                pNew = new Ce_Type(nRelatedCe, rType.TemplateType());
+                pNew = new Ce_Type(nRelatedCe, rType.TemplateParameters());
             my_TypeStorage().Replace_Entity( rType.TypeId(),
                                              *pNew );
         }
diff --git a/autodoc/source/ary/idl/ia_type.cxx b/autodoc/source/ary/idl/ia_type.cxx
index 80476d9..d0026e8 100644
--- a/autodoc/source/ary/idl/ia_type.cxx
+++ b/autodoc/source/ary/idl/ia_type.cxx
@@ -53,6 +53,12 @@ namespace ary
 namespace idl
 {
 
+String              MakeTemplateName(
+                        const String &      i_localName,
+                        const std::vector<Type_id> &
+                                            i_templateParameters );
+
+
 
 inline CeAdmin &
 TypeAdmin::my_Ces() const
@@ -119,17 +125,16 @@ Type_id
 TypeAdmin::lhf_CheckIn_TypeName( const String &        i_sLocalName,
                                       ExplicitNameRoom &    io_rXNameRoom,
                                       Ce_id                 i_nModuleOfOccurrence,
-                                      Type_id               i_nTemplateType )
+                                 const std::vector<Type_id> *   i_templateParameters )
 {
     String sSearchLocalName( i_sLocalName );
-    if ( i_nTemplateType.IsValid() )
+    if ( i_templateParameters != 0
+         ?  i_templateParameters->size() > 0
+         :  false )
     {
-        sSearchLocalName =
-            StreamLock(200)()
-                << i_sLocalName
-                << C_cTemplateDelimiter
-                << i_nTemplateType.Value()
-                << c_str;
+        sSearchLocalName = MakeTemplateName(
+                                i_sLocalName,
+                                *i_templateParameters);
     }
 
     Type_id
@@ -140,7 +145,7 @@ TypeAdmin::lhf_CheckIn_TypeName( const String &        i_sLocalName,
             rNewType = *new ExplicitType(  i_sLocalName,
                                            io_rXNameRoom.TypeId(),
                                            i_nModuleOfOccurrence,
-                                           i_nTemplateType );
+                                           i_templateParameters );
         lhf_Put2Storage_and_AssignId(rNewType);
         ret = rNewType.TypeId();
         io_rXNameRoom.Add_Name( sSearchLocalName, ret );
@@ -244,7 +249,7 @@ const Type &
 TypeAdmin::CheckIn_Type( QualifiedName &     i_rFullName,
                                  uintt               i_nSequenceCount,
                                  Ce_id               i_nModuleOfOccurrence,
-                                 Type_id             i_nTemplateType )
+                         const std::vector<Type_id> *   i_templateParameters )
 {
     // Look in built-in types:
     Type_id
@@ -256,7 +261,7 @@ TypeAdmin::CheckIn_Type( QualifiedName &     i_rFullName,
         nType = lhf_CheckIn_TypeName( i_rFullName.LocalName(),
                                       rNameRoom,
                                       i_nModuleOfOccurrence,
-                                      i_nTemplateType );
+                                      i_templateParameters );
     }   // endif
 
     for ( uintt s = 0; s < i_nSequenceCount; ++s )
@@ -340,6 +345,23 @@ TypeAdmin::IsBuiltInOrRelated( const Type & i_rType ) const
 }
 
 
+String
+MakeTemplateName( const String &                i_localName,
+                  const std::vector<Type_id> &  )
+{
+    StreamLock
+        sl(200);
+
+    // This is the simple solution, assuming that there is only
+    // one version of templatisation allowed with a given name.
+    return
+        sl()
+            << i_localName
+            << C_cTemplateDelimiter
+            << c_str;
+}
+
+
 
 }   // namespace idl
 }   // namespace ary
diff --git a/autodoc/source/ary/idl/ia_type.hxx b/autodoc/source/ary/idl/ia_type.hxx
index 534baf3..93519a1 100644
--- a/autodoc/source/ary/idl/ia_type.hxx
+++ b/autodoc/source/ary/idl/ia_type.hxx
@@ -77,7 +77,8 @@ class TypeAdmin : public TypePilot
                             QualifiedName &     i_rFullName,
                             uintt               i_nSequenceCount,
                             Ce_id               i_nModuleOfOccurrence,
-                            Type_id             i_nTemplateType );
+                            const std::vector<Type_id> *
+                                                i_templateParameters );
     virtual const Type &
                         Find_Type(
                             Type_id             i_nType ) const;
@@ -105,7 +106,8 @@ class TypeAdmin : public TypePilot
                             const String &      i_sLocalName,
                             ExplicitNameRoom &  io_rExplicitNameRoom,
                             Ce_id               i_nModuleOfOccurrence,
-                            Type_id             i_nTemplateType );
+                            const std::vector<Type_id> *
+                                                i_templateParameters );
     Type_id             lhf_CheckIn_Sequence(
                             Type_id             i_nType );
     void                lhf_CheckIn_BuiltInType(
diff --git a/autodoc/source/ary/idl/it_ce.cxx b/autodoc/source/ary/idl/it_ce.cxx
index fb49fe0..1f28246 100644
--- a/autodoc/source/ary/idl/it_ce.cxx
+++ b/autodoc/source/ary/idl/it_ce.cxx
@@ -47,11 +47,13 @@ namespace idl
 {
 
 
-Ce_Type::Ce_Type( Ce_id     i_nRelatedCe,
-                  Type_id   i_nTemplateType )
-    :   nRelatedCe(i_nRelatedCe),
-        nTemplateType(i_nTemplateType)
+Ce_Type::Ce_Type( Ce_id                        i_relatedCe,
+                  const std::vector<Type_id> * i_templateParameters )
+    :   nRelatedCe(i_relatedCe),
+        pTemplateParameters(0)
 {
+    if (i_templateParameters != 0)
+        pTemplateParameters = new std::vector<Type_id>(*i_templateParameters);
 }
 
 Ce_Type::~Ce_Type()
@@ -88,10 +90,10 @@ Ce_Type::inq_Get_Text( StringVector &      o_module,
     o_nRelatedCe = nRelatedCe;
 }
 
-Type_id
-Ce_Type::inq_TemplateParameterType() const
+const std::vector<Type_id> *
+Ce_Type::inq_TemplateParameters() const
 {
-    return nTemplateType;
+    return pTemplateParameters.Ptr();
 }
 
 
diff --git a/autodoc/source/ary/idl/it_ce.hxx b/autodoc/source/ary/idl/it_ce.hxx
index 3912c84..d2fdd7a 100644
--- a/autodoc/source/ary/idl/it_ce.hxx
+++ b/autodoc/source/ary/idl/it_ce.hxx
@@ -53,13 +53,13 @@ class Ce_Type : public Type
 
     // LIFECYCLE
                         Ce_Type(
-                            Ce_id               i_nRelatedCe,
-                            Type_id             i_nTemplateType = Type_id(0) );
+                            Ce_id               i_relatedCe,
+                            const std::vector<Type_id> *
+                                                i_templateParameters );
     virtual             ~Ce_Type();
 
     // INQUIRY
     Ce_id               RelatedCe() const       { return nRelatedCe; }
-    Type_id             TemplateType() const    { return nTemplateType; }
 
   private:
     // Interface csv::ConstProcessorClient:
@@ -75,11 +75,12 @@ class Ce_Type : public Type
                             Ce_id &             o_nRelatedCe,
                             int &               o_nSequemceCount,
                             const Gate &        i_rGate ) const;
-    virtual Type_id     inq_TemplateParameterType() const;
-
+    virtual const std::vector<Type_id> *
+                        inq_TemplateParameters() const;
     // DATA
     Ce_id               nRelatedCe;
-    Type_id             nTemplateType;
+    Dyn< std::vector<Type_id> >
+                        pTemplateParameters;
 };
 
 
diff --git a/autodoc/source/ary/idl/it_explicit.cxx b/autodoc/source/ary/idl/it_explicit.cxx
index 3cbce48..146ca08 100644
--- a/autodoc/source/ary/idl/it_explicit.cxx
+++ b/autodoc/source/ary/idl/it_explicit.cxx
@@ -51,12 +51,15 @@ namespace idl
 ExplicitType::ExplicitType( const String &      i_sName,
                             Type_id             i_nXNameRoom,
                             Ce_id               i_nModuleOfOccurrence,
-                            Type_id				i_nTemplateType )
+                            const std::vector<Type_id> *
+                                                i_templateParameters )
     :   Named_Type(i_sName),
         nXNameRoom(i_nXNameRoom),
         nModuleOfOccurrence(i_nModuleOfOccurrence),
-        nTemplateType(i_nTemplateType)
+        pTemplateParameters(0)
 {
+    if (i_templateParameters != 0)
+        pTemplateParameters = new std::vector<Type_id>(*i_templateParameters);
 }
 
 ExplicitType::~ExplicitType()
@@ -89,10 +92,10 @@ ExplicitType::inq_Get_Text( StringVector &      o_module,
     o_name = Name();
 }
 
-Type_id
-ExplicitType::inq_TemplateParameterType() const
+const std::vector<Type_id> *
+ExplicitType::inq_TemplateParameters() const
 {
-    return nTemplateType;
+    return pTemplateParameters.Ptr();
 }
 
 
diff --git a/autodoc/source/ary/idl/it_explicit.hxx b/autodoc/source/ary/idl/it_explicit.hxx
index 176b1c1..d70112b 100644
--- a/autodoc/source/ary/idl/it_explicit.hxx
+++ b/autodoc/source/ary/idl/it_explicit.hxx
@@ -56,14 +56,14 @@ class ExplicitType : public Named_Type
                             const String &      i_sName,
                             Type_id             i_nXNameRoom,
                             Ce_id               i_nModuleOfOccurrence,
-                            Type_id             i_nTemplateType );
+                            const std::vector<Type_id> *
+                                                i_templateParameters );
     virtual             ~ExplicitType();
 
     // INQUIRY
     Ce_id               ModuleOfOccurrence() const
                                                 { return nModuleOfOccurrence; }
     Type_id             NameRoom() const        { return nXNameRoom; }
-    Type_id             TemplateType() const    { return nTemplateType; }
 
   private:
     // Interface csv::ConstProcessorClient:
@@ -79,12 +79,13 @@ class ExplicitType : public Named_Type
                             Ce_id &             o_nRelatedCe,
                             int &               o_nSequemceCount,
                             const Gate &        i_rGate ) const;
-    virtual Type_id     inq_TemplateParameterType() const;
-
+    virtual const std::vector<Type_id> *
+                        inq_TemplateParameters() const;
     // DATA
     Type_id             nXNameRoom;             // As written in code.
     Ce_id               nModuleOfOccurrence;
-    Type_id             nTemplateType;
+    Dyn< const std::vector<Type_id> >
+                        pTemplateParameters;
 };
 
 
diff --git a/autodoc/source/ary/idl/it_sequence.cxx b/autodoc/source/ary/idl/it_sequence.cxx
index c25872e..6697663 100644
--- a/autodoc/source/ary/idl/it_sequence.cxx
+++ b/autodoc/source/ary/idl/it_sequence.cxx
@@ -83,6 +83,11 @@ Sequence::inq_Get_Text( StringVector &      o_module,
                         i_rGate );
 }
 
+const Type &
+Sequence::inq_FirstEnclosedNonSequenceType(const Gate & i_rGate) const
+{
+    return i_rGate.Types().Find_Type(nRelatedType).FirstEnclosedNonSequenceType(i_rGate);
+}
 
 
 }   // namespace idl
diff --git a/autodoc/source/ary/idl/it_sequence.hxx b/autodoc/source/ary/idl/it_sequence.hxx
index 3cc640f..b4e5452 100644
--- a/autodoc/source/ary/idl/it_sequence.hxx
+++ b/autodoc/source/ary/idl/it_sequence.hxx
@@ -72,6 +72,9 @@ class Sequence : public Type
                             Ce_id &             o_nRelatedCe,
                             int &               o_nSequemceCount,
                             const Gate &        i_rGate ) const;
+    virtual const Type &
+                        inq_FirstEnclosedNonSequenceType(
+                            const Gate &        i_rGate ) const;
     // DATA
     Type_id             nRelatedType;
 };
diff --git a/autodoc/source/ary/idl/it_tplparam.cxx b/autodoc/source/ary/idl/it_tplparam.cxx
index 66b2b7d..8419655 100644
--- a/autodoc/source/ary/idl/it_tplparam.cxx
+++ b/autodoc/source/ary/idl/it_tplparam.cxx
@@ -78,10 +78,16 @@ TemplateParamType::inq_Get_Text( StringVector &      ,          // o_module
 
 //*************    Implemented default function for idl::Type ********//
 
-Type_id
-Type::inq_TemplateParameterType() const
+const std::vector<Type_id> *
+Type::inq_TemplateParameters() const
 {
-    return Type_id::Null_();
+    return 0;
+}
+
+const Type &
+Type::inq_FirstEnclosedNonSequenceType(const Gate & ) const
+{
+    return *this;
 }
 
 
diff --git a/autodoc/source/display/idl/hfi_typetext.cxx b/autodoc/source/display/idl/hfi_typetext.cxx
index 214ee95..53aadb4 100644
--- a/autodoc/source/display/idl/hfi_typetext.cxx
+++ b/autodoc/source/display/idl/hfi_typetext.cxx
@@ -37,12 +37,17 @@
 #include <ary/idl/i_type.hxx>
 #include <ary/idl/i_ce.hxx>
 #include <ary/idl/i_module.hxx>
+#include <ary/idl/i_module.hxx>
 #include <ary/idl/ik_ce.hxx>
 #include <adc_cl.hxx>
 #include <adc_msg.hxx>
 #include "hi_linkhelper.hxx"
 
 
+
+
+
+
 inline const ary::idl::Module *
 HF_IdlTypeText::referingModule() const
 {
@@ -82,7 +87,7 @@ HF_IdlTypeText::~HF_IdlTypeText()
 }
 
 void
-HF_IdlTypeText::Produce_byData( ary::idl::Type_id i_idType ) const
+HF_IdlTypeText::Produce_byData(ary::idl::Type_id i_idType) const
 {
     StringVector        aModule_;
     String              sName;
@@ -93,8 +98,6 @@ HF_IdlTypeText::Produce_byData( ary::idl::Type_id i_idType ) const
     const ary::idl::Type &
         rType = Env().Data().Find_Type(i_idType);
     Env().Data().Get_TypeText(aModule_, sName, nCe, nSequenceCount, rType);
-    ary::idl::Type_id
-        nTemplateType = rType.TemplateParameterType();
 
     if ( Env().Data().IsBuiltInOrRelated(rType) )
     {
@@ -107,7 +110,7 @@ HF_IdlTypeText::Produce_byData( ary::idl::Type_id i_idType ) const
                          String::Null_(),
                          nSequenceCount,
                          (nCe.IsValid() ? exists_yes : exists_no),
-                         nTemplateType );
+                         rType.FirstEnclosedNonSequenceType(Env().Gate()).TemplateParameters() );
     }
 }
 
@@ -338,13 +341,14 @@ HF_IdlTypeText::produce_FromStd( const StringVector & i_module,
                                  const String &       i_member,
                                  int                  i_sequenceCount,
                                  E_Existence          i_ceExists,
-                                 ary::idl::Type_id    i_nTemplateType ) const
+                                 const std::vector<ary::idl::Type_id> *
+                                                      i_templateParameters ) const
 {
     if (i_ceExists == exists_no)
     {
         if ( is_ExternLink(i_module) )
         {
-            produce_ExternLink(i_module,i_ce,i_member,i_sequenceCount,i_nTemplateType);
+            produce_ExternLink(i_module,i_ce,i_member,i_sequenceCount,i_templateParameters);
             return;
         }
         errorOut_UnresolvedLink(i_module, i_ce, i_member);
@@ -428,16 +432,8 @@ HF_IdlTypeText::produce_FromStd( const StringVector & i_module,
             CurOut() << i_ce;
         }
 
-        if (i_nTemplateType.IsValid())
-        {
-            CurOut() << "< ";
-
-            HF_IdlTypeText
-                aTemplateParamWriter(Env(), CurOut(), true, pReferingCe);
-            aTemplateParamWriter.Produce_byData(i_nTemplateType);
-
-            CurOut() << " >";
-        }
+        if (i_templateParameters != 0)
+            write_TemplateParameterList(*i_templateParameters);
 
         if (bUseMember)
         {
@@ -678,7 +674,8 @@ HF_IdlTypeText::produce_ExternLink( const StringVector & i_module,
                                     const String &       i_ce,
                                     const String &       i_member,
                                     int                  i_sequenceCount,
-                                    ary::idl::Type_id    i_nTemplateType ) const
+                                    const std::vector<ary::idl::Type_id> *
+                                                         i_templateParameters ) const
 {
     // KORR
     // Look again at this code and take some time.
@@ -726,16 +723,8 @@ HF_IdlTypeText::produce_ExternLink( const StringVector & i_module,
             << i_ce;
     }
 
-    if (i_nTemplateType.IsValid())
-    {
-        CurOut() << "< ";
-
-        HF_IdlTypeText
-            aTemplateParamWriter(Env(), CurOut(), true, pReferingCe);
-        aTemplateParamWriter.Produce_byData(i_nTemplateType);
-
-        CurOut() << " >";
-    }
+    if (i_templateParameters != 0)
+        write_TemplateParameterList(*i_templateParameters);
 
     // Member
     if (i_member.length() > 0)
@@ -748,3 +737,24 @@ HF_IdlTypeText::produce_ExternLink( const StringVector & i_module,
     if (i_sequenceCount > 0)
         finish_Sequence(i_sequenceCount);
 }
+
+void
+HF_IdlTypeText::write_TemplateParameterList(
+                    const std::vector<ary::idl::Type_id> & i_templateParameters ) const
+{
+    if (i_templateParameters.size() == 0)
+        return;
+
+    HF_IdlTypeText
+        aTemplateParamWriter(Env(), CurOut(), true, pReferingCe);
+    CurOut() << "< ";
+    std::vector<ary::idl::Type_id>::const_iterator
+        it = i_templateParameters.begin();
+    aTemplateParamWriter.Produce_byData(*it);
+    for ( ++it; it != i_templateParameters.end(); ++it )
+    {
+        CurOut() << ", ";
+        aTemplateParamWriter.Produce_byData(*it);
+    }
+    CurOut() << " >";
+}
diff --git a/autodoc/source/display/idl/hfi_typetext.hxx b/autodoc/source/display/idl/hfi_typetext.hxx
index 73f07eb..9330ac8 100644
--- a/autodoc/source/display/idl/hfi_typetext.hxx
+++ b/autodoc/source/display/idl/hfi_typetext.hxx
@@ -102,7 +102,8 @@ class HF_IdlTypeText : public HtmlFactory_Idl
                             const String &      i_member,
                             int                 i_sequenceCount,
                             E_Existence         i_ceExists,
-                            ary::idl::Type_id   i_nTemplateType = ary::idl::Type_id::Null_() ) const;
+                            const std::vector<ary::idl::Type_id> *
+                                                i_templateParameters = 0 ) const;
     void                produce_BuiltIn(
                             const String &      i_type,
                             int                 i_sequenceCount ) const;
@@ -134,8 +135,11 @@ class HF_IdlTypeText : public HtmlFactory_Idl
                             const String &      i_ce,
                             const String &      i_member,
                             int                 i_sequenceCount,
-                            ary::idl::Type_id   i_nTemplateType ) const;
-
+                            const std::vector<ary::idl::Type_id> *
+                                                i_templateParameters ) const;
+    void                write_TemplateParameterList(
+                            const std::vector<ary::idl::Type_id> &
+                                                i_templateParameters ) const;
     const ary::idl::Module *
                         referingModule() const;
     const client *      referingCe() const;
diff --git a/autodoc/source/parser_i/idl/pe_type2.cxx b/autodoc/source/parser_i/idl/pe_type2.cxx
index 0a07eae..77b6a84 100644
--- a/autodoc/source/parser_i/idl/pe_type2.cxx
+++ b/autodoc/source/parser_i/idl/pe_type2.cxx
@@ -85,7 +85,8 @@ PE_Type::PE_Type( ary::idl::Type_id & o_rResult )
         eState(e_none),
         sLastPart(),
         pPE_TemplateType(0), // @attention Recursion, only initiate, if needed!
-        nTemplateType(0)
+        nTemplateType(0),
+        aTemplateParameters()
 {
 }
 
@@ -172,10 +173,24 @@ PE_Type::Process_Punctuation( const TokPunctuation & i_rToken )
     }
     else if (eState == in_template_type)
     {
-        csv_assert( i_rToken.Id() == TokPunctuation::Greater );
+        aTemplateParameters.push_back(nTemplateType);
+        nTemplateType = 0;
+
+        if (i_rToken.Id() == TokPunctuation::Greater)
+        {
         eState = expect_quname_separator;
         SetResult(done, stay);
     }
+        else if (i_rToken.Id() == TokPunctuation::Comma)
+        {
+              SetResult(done, push_sure, &MyTemplateType());
+        }
+        else
+        {
+            csv_assert(false);
+            Finish();
+        }
+    }
 }
 
 void
@@ -269,6 +284,7 @@ PE_Type::InitData()
     sFullType.Empty();
     sLastPart.clear();
     nTemplateType = 0;
+    csv::erase_container(aTemplateParameters);
 }
 
 void
@@ -285,7 +301,7 @@ PE_Type::TransferData()
         result = Gate().Types().CheckIn_Type( sFullType,
                                               nIsSequenceCounter,
                                               CurNamespace().CeId(),
-                                              nTemplateType );
+                                              &aTemplateParameters );
     *pResult = result.TypeId();
     eState = e_none;
 }
diff --git a/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx b/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx
index d931c59..833dd4f 100644
--- a/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx
+++ b/autodoc/source/parser_i/inc/s2_luidl/pe_type2.hxx
@@ -104,6 +104,8 @@ class PE_Type : public UnoIDL_PE,
 
     Dyn<PE_Type>        pPE_TemplateType;   /// @attention Recursion, only initiate, if needed!
     ary::idl::Type_id   nTemplateType;
+    std::vector<ary::idl::Type_id>
+                        aTemplateParameters;
 };
 
 


More information about the ooo-build-commit mailing list