summaryrefslogtreecommitdiff
path: root/forms/source/component/ComboBox.cxx
AgeCommit message (Collapse)AuthorFilesLines
2014-01-21FORMS : Remove usage of DBG_CTOR and DBG_DTOR.Arnaud Versini1-5/+0
Valgrind is capable of detecting such bugs. No need for extra macros. Change-Id: Ida618d6ac383c65f1c09212a7b6aa5ee228677db Reviewed-on: https://gerrit.libreoffice.org/7534 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2013-06-29remove OUString wrap for string literalsThomas Arnhold1-1/+1
For some functions and all kinds of Exceptions. CannotConvertException CloseVetoException DisposedException EmptyUndoStackException ErrorCodeIOException Exception GridInvalidDataException GridInvalidModelException IOException IllegalAccessException IllegalArgumentException IllegalTypeException IndexOutOfBoundsException NoMasterException NoSuchElementException NoSupportException PropertyVetoException RuntimeException SAXException ScannerException StorageWrappedTargetException UnsupportedFlavorException VetoException WrappedTargetException ZipIOException throwGenericSQLException throwIllegallArgumentException createInstance createInstanceWithContext forName getByName getPackageManager getPropertyValue getUnpackedValueOrDefault getValueByName hasPropertyByName openKey setName setPropertyValue supportsService bash command: for i in `cat list`; do git grep "$i\s*(\s*OUString(\s*\"" -- '*.[hc]xx' | cut -d ':' -f1 | sort -u | xargs sed -i -e "s/\(\<$i\s*(\)\s*OUString(\s*\(\"[^\")\\]*\"\)\s*)\s*/\1\2/g" -e "s/\($i.*\)\"+ /\1\" + /g"; done Change-Id: Iaf8e641b0abf28c082906014f87a183517630535 Reviewed-on: https://gerrit.libreoffice.org/4624 Tested-by: LibreOffice gerrit bot <gerrit@libreoffice.org> Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2013-06-03fdo#46808, Convert comphelper::ComponentContext in forms moduleNoel Grandin1-10/+11
Change-Id: I8a9913d964633381f00c0a4885cc655805fa1974
2013-06-03fdo#46808, Convert ComponentContext in connectivity,extension..Noel Grandin1-2/+2
...modules. Change-Id: Ie61976dc12b514bb85ca42496c0d9173a1c56264
2013-04-23forms: FORMS_CONSTASCII_STRING is no longer neededMiklos Vajna1-1/+1
Change-Id: I2b666f0e48db4c97cc4c641480a82681f5057ac2
2013-04-07mass removal of rtl:: prefixes for O(U)String*Luboš Luňák1-22/+22
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk have kept them, in order not to break external API (the automatic using declaration is LO-internal). Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
2013-03-19automated removal of RTL_CONSTASCII_USTRINGPARAM for quoted OUStringsThomas Arnhold1-1/+1
Done with a perl regex: s/OUString\s*\(\s*RTL_CONSTASCII_USTRINGPARAM\s*\((\s*"[^")]*?"\s*)\)\s*\)/OUString\($1\)/gms Change-Id: Idf28320817cdcbea6d0f7ec06a9bf51bd2c3b3ec Reviewed-on: https://gerrit.libreoffice.org/2832 Reviewed-by: Thomas Arnhold <thomas@arnhold.org> Tested-by: Thomas Arnhold <thomas@arnhold.org>
2012-11-27re-base on ALv2 code. Includes:Michael Meeks1-23/+14
Patch contributed by Christian Lippka impress212: #i113063# patch: dubios self assign in svx/source/dialog/framelink.cxx http://svn.apache.org/viewvc?view=revision&revision=1167619 Patches contributed by Mathias Bauer gnumake4 work variously http://svn.apache.org/viewvc?view=revision&revision=1394707 http://svn.apache.org/viewvc?view=revision&revision=1394326 cws mba34issues01: #i117712#: fix several resource errors introduced by IAccessible2 implementation http://svn.apache.org/viewvc?view=revision&revision=1172343 cws mba34issues01: #i117719#: use correct resource ID http://svn.apache.org/viewvc?view=revision&revision=1172351 Patch contributed by Andre Fischer Do not add targets for junit tests when junit is disabled. http://svn.apache.org/viewvc?view=revision&revision=1241508 Patches contributed by Armin Le-Grand #118804# corrected GraphicExporter behaviour on shortcut when pixel graphic is requested http://svn.apache.org/viewvc?view=revision&revision=1240195 fix for #118525#: Using primitives for chart sub-geometry visualisation http://svn.apache.org/viewvc?view=revision&revision=1226879 #118485# - Styles for OLEs are not saved. http://svn.apache.org/viewvc?view=revision&revision=1182166 #118524: apply patch, followup fixes to 118485 http://svn.apache.org/viewvc?view=revision&revision=1186077 13f79535-47bb-0310-9956-ffa450edef68 Patch contributed by Regina Henschel linecap: Reintegrating finished LineCap feature http://svn.apache.org/viewvc?view=revision&revision=1232507 Patch contributed by Wang Lei (leiw) #i118760# split the first table cell vertically, then undo&redo, the Presentation app will crash http://svn.apache.org/viewvc?view=revision&revision=1301361 cleanup globlmn hacks, undo dependent fixmes.
2012-08-14fdo#53061: Fix for C++11 #define NULL nullptrJung-uk Kim1-1/+1
Change-Id: Ia1805aab4bec7fef02c96ec4e7a7a0ed9991d3c3 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2012-06-29Remove UNO includes commentsThomas Arnhold1-2/+0
Change-Id: I48e193322967fb75e93eaf81e9e2110d3056f92a
2012-05-18removed unused const rtl::OUStringTakeshi Abe1-1/+0
Change-Id: If02be864f958de96ae1c54fe575b1828410390b1
2012-03-06Translate German comments, fix some whitespace and bad translationsPhilipp Weissenbacher1-13/+13
2011-12-30Fix for fdo43460 Part XVIII getLength() to isEmpty()Gustavo Buzzatti Pacheco1-8/+8
Part XVIII module form
2011-12-12catch exception by constant referenceTakeshi Abe1-2/+2
2011-11-27remove include of pch header from formsNorbert Thiebaud1-2/+0
2011-03-19Move OSL_ENSURE(sal_False,...) to OSL_FAIL(...)Thomas Arnhold1-1/+1
2011-03-12Move OSL_ENSURE(false,...) to OSL_FAIL(...)Thomas Arnhold1-1/+1
2011-03-02Move DBG_ERROR to OSL_FAILThomas Arnhold1-2/+2
2010-10-13Add vim/emacs modelines to all source filesSebastian Spaeth1-0/+2
Fixes #fdo30794 Based on bin/add-modelines script (originally posted in mail 1286706307.1871.1399280959@webmail.messagingengine.com) Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-04-16dba33f: merge with m76-branchFrank Schoenheit [fs]1-20/+3
2010-02-12changefileheader2: #i109125#: change source file copyright notice from Sun ↵Jens-Heiner Rechtien1-4/+1
Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision)
2010-01-22dba33f: #i108548# extend SingleSelectQueryComposer appendFilterByColumn with ↵Ocke Janssen [oj]1-20/+3
additonal parameter
2009-12-01CWS-TOOLING: integrate CWS dba32jOliver Bolte1-0/+7
2009-11-26 09:30:10 +0100 msc r277648 : #100000 fix urgent testscript error 2009-11-25 10:27:56 +0100 msc r277625 : #i100000 fix urgent testscript error 2009-11-17 22:16:46 +0100 fs r277544 : CWS-TOOLING: rebase CWS dba32j to branches/OOO320@277531 (milestone: OOO320:m5) 2009-11-17 14:26:47 +0100 fs r277535 : ooops, didn't mean to commit this uncommented line 2009-11-14 20:50:29 +0100 fs r277505 : add a --disable-pango switch to SM's configure options, and add a patch which makes certain code respect it (well, respect it better than currently, by not using some pango_x_* functions, which are not always available, even when pango itself is present) 2009-11-14 20:47:41 +0100 fs r277504 : spelling 2009-11-13 14:04:00 +0100 fs r277502 : #i100764# (commit approved by ab@openoffice.org): getModelFromBasic: do not start with the parent's parent when looking for ThisComponent, but walk up the anchestor chain, starting with the immediate parent 2009-11-13 11:04:15 +0100 fs r277496 : #i100764# better heuristics for determining whether or not to participate in the ThisComponent game 2009-11-13 11:02:30 +0100 fs r277495 : #i100764# set the WB_EXT_DOCUMENT style at the backing component's container window, when creating it without the TaskCreator (which would normally do this) 2009-11-11 13:49:11 +0100 fs r277452 : #i106816# 2009-11-11 13:48:53 +0100 fs r277451 : fix the CREATETARBAL target, which is expected to create the zips used as prebuilts. The *inc.zip missed the NSS files in case NSS was built externally 2009-11-11 12:15:34 +0100 fs r277449 : update ignore list 2009-11-11 12:09:23 +0100 fs r277448 : add a link to the Mozilla build tools download location 2009-11-11 12:07:16 +0100 fs r277447 : add a link to the Mozilla build tools download location 2009-11-06 16:23:12 +0100 fs r277393 : #i106643# 2009-11-03 23:20:29 +0100 fs r277328 : #i106574# reverted the recent fix for issue #i105235#, and implemented a better one. 2009-11-02 12:59:48 +0100 fs r277294 : #i106550# errorOccured: also display the error when we're not in a nested form action - form actions are allowed to be triggered by other instances as well
2009-07-03CWS-TOOLING: integrate CWS dba32cRelease Engineers1-0/+2
2009-06-29 20:53:25 +0200 fs r273484 : #i103138# Rectangle conversion 2009-06-29 20:51:50 +0200 fs r273483 : #i103138# yet more refactoring, now also setting the proper zoom level at the proper point in time 2009-06-29 13:40:26 +0200 fs r273470 : added svn:ignore to ignore output paths 2009-06-29 10:08:54 +0200 fs r273455 : #i103138# refactored the code for positioning/zooming the control Basically, we now allow adjustControlGeometry_throw (formerly known as positionControl_throw and setControlZoom) to take an additional ViewTransformation parameter, describing the transformation to obtain the actual control position/size. Consequently, positionControl itself also allows for a ViewTransformation parameter. This has become necessary since during painting, the device which we created our control for might not necessarily have a proper MapMode set. In this case, if we would use this map mode for calculating the control's position/size, this would lead to wrong results. Note that this problem was introduced by the fix for #i101398#: During the fix, we postponed the control creation to a later time (when it is really needed). At this later time, the MapMode at the device is broken, at the earlier time where we formerly crearted the control (createPrimitive2DSequence), it is not yet broken. Whether or not the MapMode is defined as "broken" might depend on one's point of view, however ... I consider it broken, since: - we need the map mode to obtain the proper zoom level, which is to be forwarded to the control - there are scenarios where the MapMode is *not* set to MAP_PIXEL (in those scenarios, everything works fine), and there are scenarios where it *is* set to MAP_PIXEL (in those the bug 103138 appears). It somehow feels wrong that one cannot rely on the device's map mode this way, but on the other hand one has no possibility to obtain the current zoom by other means. Note that one issue (still to be submitted) is left: In the page pane of a Draw/Impress document, controls have a wrong text size. This is because in this pane, the above-mentioned "broken" map mode is used, which means the controls have a zoom of "1:1" set, which is wrong here. 2009-06-25 13:41:35 +0200 msc r273380 : #100000# the tabs changed die to new properties 2009-06-24 12:42:40 +0200 msc r273330 : #102082# remove issue warning 2009-06-22 10:43:14 +0200 fs r273201 : createPrimitive2DSequence: care for being disposed 2009-06-18 12:35:13 +0200 oj r273109 : #i102305# make nooptfiles for gcc 2009-06-17 12:14:37 +0200 oj r273056 : #i102305# fix for linux 2009-06-17 07:20:22 +0200 oj r273046 : #i102305# move ValueTransfer into the for loop to avoid a crash under Linux 2009-06-17 07:17:28 +0200 oj r273045 : #i102305# use varchar 2009-06-15 14:11:27 +0200 fs r272983 : added since tag 2009-06-15 12:11:39 +0200 oj r272973 : #i102305# SAL_DLLPUBLIC_EXPORT inserted 2009-06-15 11:08:53 +0200 fs r272969 : #i10000# 2009-06-15 09:25:13 +0200 fs r272963 : merging fix for P1 issue #i102701# 2009-06-11 11:31:24 +0200 fs r272858 : #i10000# copied the fix which before the rebase was done in ../dialog/macropg.src 2009-06-11 09:38:14 +0200 fs r272846 : CWS-TOOLING: rebase CWS dba32c to trunk@272827 (milestone: DEV300:m50) 2009-06-02 09:53:10 +0200 fs r272483 : #i10000# 2009-05-29 15:55:03 +0200 fs r272465 : #i100818# 2009-05-29 12:58:43 +0200 fs r272452 : don't apply comphelper::getString on possibly VOID any 2009-05-29 10:38:35 +0200 oj r272437 : #i101519# handle where condition 2009-05-29 09:53:39 +0200 fs r272434 : #i100818# call into releaseStubs /without/ locked GlobalMutex 2009-05-28 07:53:44 +0200 oj r272375 : #i101369# parse tree changed 2009-05-27 14:53:36 +0200 fs r272347 : #i10000# 2009-05-27 09:29:15 +0200 oj r272327 : #i101626# check for double before hard cast 2009-05-27 09:13:58 +0200 oj r272326 : #i101626# handle void correctly 2009-05-27 08:04:39 +0200 oj r272321 : #i102256# wrong method signature used 2009-05-27 07:55:52 +0200 oj r272320 : #i101519# look up parameter typ if used in function 2009-05-27 06:49:07 +0200 oj r272319 : #i101519# set parameter from rowset as well 2009-05-26 13:30:56 +0200 oj r272297 : #i101987# impl XBatchExecution 2009-05-26 12:44:34 +0200 oj r272293 : #i101700# check if group is not set 2009-05-26 12:16:53 +0200 oj r272290 : #i101369# resolved some reduce7reduce problems with boolean_term and search_condition 2009-05-26 12:12:42 +0200 oj r272289 : #i101369# fix for or on one line criteria 2009-05-25 16:02:25 +0200 fs r272257 : #i999704# +PROPERTY_MOUSE_WHEEL_BEHAVIOR 2009-05-25 16:01:55 +0200 fs r272256 : merging the changes from CWS dba32b herein 2009-05-25 15:49:57 +0200 fs r272254 : #i999704# 2009-05-25 15:32:57 +0200 fs r272252 : #i99704# grid columns also to respect the MouseWheelBehavior property 2009-05-25 15:23:43 +0200 fs r272251 : don't pass empty Anys to ::comphelper::getString 2009-05-25 14:48:43 +0200 fs r272248 : merged changes from CWS dba32b herein 2009-05-25 14:44:40 +0200 fs r272247 : #i99704# support new MouseWheelBehavior property 2009-05-25 14:43:18 +0200 fs r272246 : #i99704# WheelWithoutFocus (peer property) superseded by MouseWheelBehavior (model property) 2009-05-25 14:41:03 +0200 fs r272245 : #i99704# no need to set the mouse wheel behavior at the peer, this is now a model property, having the right default 2009-05-25 14:39:31 +0200 fs r272243 : removed dead import 2009-05-25 14:35:36 +0200 fs r272242 : the new EnableVisible doesn't make sense for grid columns 2009-05-25 14:34:33 +0200 fs r272241 : #i99704# +MouseWheelBehavior - allow to enable/disable the mouse wheel for the control, or make it focus-dependent 2009-05-25 14:26:11 +0200 fs r272240 : #i99704# change MouseSettings wheel flag (NoWheelActionWithoutFocus) to a three-state option, allowing to completely ignore the mouse wheel 2009-05-23 21:35:59 +0200 fs r272213 : localize 'sub component opened/closed' event 2009-05-22 21:42:47 +0200 fs r272211 : #i102003# 2009-05-22 21:42:20 +0200 fs r272210 : grammar 2009-05-22 21:36:10 +0200 fs r272209 : #i102140# load only once, not twice, and show error messages during loading (and during any form action, that is) asynchronously 2009-05-22 21:35:11 +0200 fs r272208 : #i102140# +clear 2009-05-22 14:50:30 +0200 fs r272194 : #i102139# for newly created DB docs, set the MacroExecutionMode to USE_CONFIG 2009-05-22 12:03:42 +0200 fs r272180 : #i88878# provided by noel.power@novell.com implement a visibility property (EnableVisible) for toolkit controls, and usage in forms and UNO dialogs 2009-05-15 15:37:31 +0200 fs r271942 : #i100671# corrected some @since tags, so autodoc has better chances of correctly reading them 2009-05-15 15:33:11 +0200 fs r271940 : don't call comphelper::getFOO for VOID values 2009-05-15 15:08:31 +0200 fs r271937 : includes 2009-05-15 13:39:22 +0200 fs r271934 : #i101398# createPrimitive2DSequence: when we already have a control, use the old code. In particular, call positionControlForPaint 2009-05-15 12:33:48 +0200 fs r271933 : make the geometry a part of the ControlPrimitive2D's identity 2009-05-15 10:15:44 +0200 fs r271928 : #i10000# 2009-05-14 20:55:38 +0200 fs r271921 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique 2009-05-14 20:55:31 +0200 fs r271920 : #i101398# don't reuse the name PRIMITIVE_ID_CONTROLPRIMITIVE2D, make the name of our own ControlPrimitive2D unique 2009-05-14 20:23:23 +0200 fs r271919 : #i101622# 2009-05-14 16:04:38 +0200 fs r271898 : don't use comphelper::getInt32 on voids 2009-05-14 16:04:12 +0200 fs r271897 : merge fix for issue whose number just slipped my memory ... (originally fixed in CWS dba32b) 2009-05-14 15:36:55 +0200 fs r271895 : merging changes from DEV300:m48 2009-05-07 14:43:19 +0200 fs r271670 : #i101477# 2009-05-07 14:37:30 +0200 fs r271668 : #i101477# 2009-05-07 09:27:30 +0200 oj r271628 : #i101343# remove pch 2009-05-06 09:36:02 +0200 fs r271568 : getFoo: diagnostics 2009-05-04 09:23:06 +0200 oj r271438 : CWS-TOOLING: rebase CWS dba32c to trunk@271427 (milestone: DEV300:m47) 2009-04-29 23:18:13 +0200 fs r271394 : #i101398# use a dedicated 2DPrimitive for UNO Controls, which is able to provide the B2DRange *without* actually creating the control 2009-04-29 13:52:25 +0200 fs r271366 : #i101308#
2009-04-22CWS-TOOLING: integrate CWS dba32aIvo Hinkelmann1-7/+7
2009-04-16 13:08:19 +0200 oj r270882 : #i14538# set property at control 2009-04-16 13:04:28 +0200 oj r270881 : #i98557# remove binary string for SRB 2009-04-15 13:19:10 +0200 oj r270838 : #i96782# use type set at view 2009-04-14 14:53:20 +0200 oj r270778 : #i96782# set initialize size for custom shape 2009-04-06 14:19:14 +0200 oj r270546 : #i88432# correct pos when < 0 while resizing 2009-04-06 13:36:13 +0200 oj r270541 : #i96782# handle toolbar and menubar differently 2009-04-06 13:33:54 +0200 oj r270540 : #i96782# handle toolbar and menubar differently 2009-04-06 12:28:23 +0200 oj r270534 : #i96782# handle toolbar and menubar differently 2009-04-06 12:27:44 +0200 oj r270533 : #i96782# handle toolbar and menubar differently 2009-04-06 12:24:32 +0200 oj r270532 : #i96782# handle toolbar and menubar differently 2009-04-06 12:15:15 +0200 oj r270531 : do not initialze when field is empty 2009-04-06 10:06:08 +0200 oj r270528 : #i96782# clean up of menubar and remove duplicates 2009-04-06 09:47:49 +0200 oj r270527 : #i96519# adjust help text dynamic 2009-04-03 13:43:20 +0200 oj r270482 : do not need to remove section from observer they are already disposed 2009-04-03 13:27:28 +0200 fs r270479 : #i97356# 2009-04-02 11:30:39 +0200 fs r270386 : UNX line ends 2009-04-02 10:54:51 +0200 fs r270379 : UNX line ends 2009-04-02 10:39:57 +0200 fs r270378 : UNX line ends 2009-04-02 10:37:24 +0200 fs r270377 : why did this survive the rebase? was removed on trunk ... 2009-03-31 13:31:12 +0200 fs r270277 : component_foo should be public 2009-03-28 00:21:01 +0100 fs r270176 : manuallly merged the changes which happened in CWS before resync to m45, where the directory had been moved from reportdesign/registry to reportbuilder/registry 2009-03-27 23:01:20 +0100 fs r270174 : CWS-TOOLING: rebase CWS dba32a to trunk@270033 (milestone: DEV300:m45) 2009-03-11 12:23:35 +0100 fs r269310 : #i99958# ensure the ControlModelLock doesn't release twice 2009-03-06 09:07:32 +0100 fs r268970 : ignore output paths in SVN's status 2009-03-06 09:07:08 +0100 fs r268969 : ignore output paths in SVN's status 2009-03-04 11:28:02 +0100 oj r268800 : copy and paste error, check correct end now 2009-03-03 15:49:11 +0100 fs r268736 : #i10000# those merges were lost during the rebase (m38->m42) 2009-03-03 13:25:27 +0100 lla r268720 : #i99652# fix wrong refactoring 2009-02-27 11:12:56 +0100 fs r268566 : beautified 2009-02-27 10:53:47 +0100 fs r268561 : doFormListening(false) only when actually isFormListening() (found during complex test case XMLFormSettings with assertions) 2009-02-26 20:55:31 +0100 fs r268546 : #i96530# set the Label property of the bound control, if we didn't create a dedicated label control 2009-02-26 11:53:09 +0100 fs r268494 : #i10000# 2009-02-26 11:27:50 +0100 fs r268493 : #i10000# 2009-02-26 11:17:08 +0100 fs r268490 : reportdesign depends on REPORTBUILDER, not REPORTDESIGN 2009-02-25 11:39:48 +0100 fs r268422 : #i10000# post-resync: INFO_ESCAPE_DATETIME got lost during rebase 2009-02-24 23:24:10 +0100 fs r268411 : CWS-TOOLING: rebase CWS dba32a to trunk@268395 (milestone: DEV300:m42) 2009-02-20 15:09:48 +0100 fs r268324 : respect ImplicitCatalog/SchemaRestriction in all necessary places 2009-02-20 13:48:10 +0100 oj r268318 : order of initialize corrected 2009-02-14 15:07:52 +0100 fs r267759 : #i98975# when an image does not have a bitmap, but a text, draw this (as placeholder) 2009-02-14 15:02:40 +0100 fs r267758 : consolidated and removed some duplicate code 2009-02-14 13:52:23 +0100 fs r267756 : #i10000# 2009-02-13 22:08:34 +0100 fs r267750 : #i100000# 2009-02-13 22:07:25 +0100 fs r267749 : #i10000# 2009-02-13 21:55:36 +0100 fs r267747 : #i10000# 2009-02-13 21:54:27 +0100 fs r267746 : use const_cast 2009-02-13 21:29:10 +0100 fs r267745 : #i10000# 2009-02-13 21:27:39 +0100 fs r267744 : #i10000# 2009-02-13 20:59:13 +0100 fs r267742 : #i10000# 2009-02-13 13:21:30 +0100 fs r267717 : better diagnostics 2009-02-13 13:17:24 +0100 fs r267715 : #i58313# support Catalog/SchemaRestriction settings, which are applied in getTables when 'all catalogs/schemas' are to be retrieved 2009-02-13 13:16:14 +0100 fs r267714 : filter out some more known global settings 2009-02-13 12:39:43 +0100 fs r267713 : #i58313# ImplicitCatalog/SchemaRestriction 2009-02-13 12:36:50 +0100 fs r267712 : when exporting data source settings, allow for properties which have a VOID default value, but are currently not VOID 2009-02-13 12:35:57 +0100 fs r267711 : implement XSet, to allow inserting properties which have a default value of VOID 2009-02-13 12:35:03 +0100 fs r267710 : +addVoidProperty 2009-02-13 10:20:08 +0100 fs r267697 : removed unused variable 2009-02-13 09:46:46 +0100 fs r267695 : refactored the table filtering code, to have a better base for introducing additional low level filters 2009-02-10 09:23:07 +0100 lla r267537 : #i10000# wrong line feed, double named variable 2009-02-09 12:13:08 +0100 oj r267508 : #i98605# notify hanlder 2009-02-09 11:50:34 +0100 oj r267507 : #i98926# solve refcount problem 2009-02-09 11:50:05 +0100 oj r267506 : #i98971# fix for simple html 2009-02-09 11:49:24 +0100 oj r267505 : #i98971# fix for simple html 2009-02-09 11:47:27 +0100 oj r267504 : invoke on copy 2009-02-09 09:51:00 +0100 fs r267500 : #i98316# 2009-02-09 09:46:10 +0100 fs r267499 : setCurrentSelection: don't reset the current form when we de-select everything 2009-02-09 09:43:45 +0100 fs r267498 : #i98316# 2009-02-08 21:25:18 +0100 fs r267496 : #i98272# introduce late ctor for cloning 2009-02-07 21:08:39 +0100 fs r267485 : #i98272# when copy-constructing a FmFormPageImpl, use the XCloneable of the forms collection, instead of XPersistObject (which is incompletely implemented) 2009-02-07 21:07:26 +0100 fs r267484 : removed obsolete include guards 2009-02-07 21:05:22 +0100 fs r267483 : #i98272# implement XCloneable 2009-02-06 15:02:48 +0100 lla r267467 : #i96523# add XImageControl 2009-02-06 14:41:38 +0100 oj r267463 : #i98926# late init when connection disposed but only when asked for 2009-02-06 13:49:57 +0100 lla r267457 : #i92860# bigint in forms doesn't allow input of values > 1, fixed 2009-02-06 13:03:55 +0100 oj r267455 : ImageScaleMode 2009-02-05 14:48:19 +0100 lla r267424 : #i89335# dropdown listboxes are 14 instead of 7 lines high 2009-02-05 13:40:00 +0100 oj r267423 : #i96945# insert new prop Opaque 2009-02-05 13:39:19 +0100 oj r267422 : #i96945# insert layer handling for hell and heaven 2009-02-05 13:29:32 +0100 lla r267420 : #i89335# add is null, is not null, is not like filter condition 2009-02-04 12:23:02 +0100 oj r267364 : #i98821# load table font settings 2009-02-04 10:05:27 +0100 oj r267351 : #i98821# load table font settings 2009-02-04 09:23:22 +0100 fs r267350 : checking persistency of UI settings in database documents - for the moment, capture table formattings (which is issue 98821) 2009-02-04 09:22:15 +0100 fs r267349 : moved some methods which are of wider interest from DatabaseDocument to FileHelper resp. TestCase 2009-02-04 08:56:27 +0100 oj r267347 : #i97586# UcbStreamHelper::CreateStream doesn't check all streamModes use different method 2009-02-04 08:23:26 +0100 oj r267346 : #i98701# check key size is >= 3 and some redesign 2009-02-03 23:29:24 +0100 fs r267345 : return the component (controller), not the frame 2009-02-03 23:28:53 +0100 fs r267344 : openExisting returns a controller now, not the frame (this was a bug) 2009-02-03 23:28:25 +0100 fs r267343 : openElement: properly return the component in the table/query case 2009-02-02 12:48:17 +0100 oj r267261 : #i96013# fix for relative path 2009-02-02 10:33:28 +0100 lla r267253 : #i98557# cleanups and consolidation 2009-02-02 09:37:23 +0100 lla r267250 : #i88432# resize will no longer move components to other sections 2009-02-02 09:08:24 +0100 oj r267245 : #i97475# write 0x1A at the end of the file 2009-01-30 19:39:20 +0100 lla r267230 : #i10000# unused parameters 2009-01-30 09:51:09 +0100 fs r267181 : onsolete 2009-01-30 09:49:27 +0100 fs r267180 : onsolete 2009-01-29 14:28:22 +0100 oj r267139 : #i96825# import cell style 2009-01-29 14:23:12 +0100 oj r267137 : #i98601# export imagescalehandler 2009-01-29 14:19:57 +0100 lla r267135 : #i98601# add ImageScaleMode 2009-01-29 13:21:08 +0100 oj r267124 : #i98601# impl ScaleMode 2009-01-29 13:20:56 +0100 oj r267123 : #i98601# impl ScaleMode 2009-01-29 08:46:40 +0100 oj r267095 : new property: ScaleMode 2009-01-29 08:45:23 +0100 oj r267094 : new ScaleMode from UnControlImageModel 2009-01-29 08:28:12 +0100 oj r267093 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists 2009-01-28 19:54:34 +0100 lla r267082 : #i98557# pictures in report wizard 2009-01-28 15:06:25 +0100 oj r267060 : #i87930# close all sub forms/reports when the desktop is going to be terminated and no db frame exists 2009-01-28 11:38:41 +0100 lla r267046 : #i76783# handle binary fields in forms 2009-01-28 09:24:43 +0100 lla r267025 : #i10000# 2009-01-28 08:40:04 +0100 fs r267024 : #i10000# 2009-01-28 08:04:43 +0100 oj r267023 : #i93456# use resource strings for function names 2009-01-27 13:26:05 +0100 oj r266988 : check data field is type field or expression 2009-01-27 13:07:17 +0100 oj r266985 : check data field length 2009-01-27 11:48:19 +0100 oj r266974 : #i96823# return dll string as column name when no alias exists 2009-01-27 09:53:11 +0100 fs r266958 : display the message of a caught exception 2009-01-27 09:44:13 +0100 fs r266957 : #i58313# when retrieving all tables, just set an empty table type filter - the connection will care for translating this, by respecting the TableTypeFilterMode setting 2009-01-27 09:36:09 +0100 fs r266956 : #i58313# getTables: per JDBC spec, is not a valid table type filter. Translate it to 'null'. 2009-01-26 11:24:49 +0100 lla r266912 : #i97865# cleanups (AddField viewable in remote mode) 2009-01-26 07:49:27 +0100 lla r266897 : #i97865# AddField opens in remote case 2009-01-26 07:48:58 +0100 lla r266896 : #i97865# AddField opens in remote case 2009-01-26 07:48:42 +0100 lla r266895 : #i97865# AddField opens in remote case 2009-01-23 15:04:40 +0100 fs r266825 : consolidate the usage of OSQLMessageBox with MessageType==Warning into OSQLWarningBox 2009-01-23 10:47:33 +0100 fs r266787 : +supportsUserAdministration 2009-01-23 10:47:11 +0100 fs r266784 : use DatabaseMetaData.supportsUserAdministration 2009-01-23 07:55:59 +0100 lla r266767 : #i10000# fix gcc compiler failures 2009-01-21 15:08:55 +0100 lla r266673 : #i97265# Labels in HC (IsDark) with other color (viewable) 2009-01-19 14:58:54 +0100 lla r266504 : #i96523# last problems with FormatKey and '0' values fixed 2009-01-19 14:58:00 +0100 lla r266503 : #i96519# AddField help text 2009-01-19 11:59:02 +0100 fs r266485 : #i96523# for formatted field models, init them with TreatAsNumber = false 2009-01-16 10:31:49 +0100 lla r266405 : #i96793# add shrink to popup menu 2009-01-16 09:21:44 +0100 lla r266401 : #i96519# AddField contains a help text 2009-01-15 11:21:49 +0100 lla r266357 : #i96523# problem with XVclWindowPeer not fixed now 2009-01-15 09:19:20 +0100 lla r266335 : #i96523# more crashes fixed. 2009-01-14 13:08:34 +0100 lla r266291 : #i96523# problems with crashes fixed 2009-01-13 10:54:24 +0100 lla r266199 : #i96523# show datasource in formattedfields new files 2009-01-13 10:52:39 +0100 lla r266198 : #i96523# show datasource in formattedfields 2009-01-13 09:41:50 +0100 lla r266197 : #i96526# handling none existance default.otr 2009-01-12 12:55:49 +0100 fs r266151 : don't expect the control model to be a BoundComponent before adding as modify listener 2009-01-12 12:51:33 +0100 fs r266149 : #i88458# let the ImageControl be an XModifyBroadcaster, so the forms runtime can notice when the user changes the control content while it does not have the focus 2009-01-09 13:41:22 +0100 fs r266080 : doc 2009-01-09 13:14:14 +0100 fs r266077 : #i97377# SetModified when order is changed via DnD 2009-01-07 09:55:40 +0100 oj r265951 : merge from master 2009-01-07 09:55:24 +0100 oj r265950 : removed observer 2009-01-07 09:55:06 +0100 oj r265949 : merge from master 2009-01-07 07:29:11 +0100 oj r265945 : shadow var changed 2009-01-06 07:25:57 +0100 oj r265893 : CWS-TOOLING: rebase CWS dba32a to trunk@265758 (milestone: DEV300:m38) 2009-01-05 13:18:22 +0100 oj r265865 : convert to unix le 2009-01-05 09:13:52 +0100 lla r265857 : #i79423# lc_ sc_ permutation fix 2009-01-02 19:40:59 +0100 lla r265847 : #i79423# section shrink icons 2008-12-22 11:37:57 +0100 lla r265749 : #i97484# move component to negative Y-position 2008-12-22 11:37:05 +0100 lla r265748 : #i97484# move component to negative Y-position 2008-12-22 11:35:33 +0100 lla r265747 : #i97484# move component to negative Y-position 2008-12-22 11:25:07 +0100 lla r265745 : #i96757# changes via property browser was not undoable 2008-12-18 15:10:38 +0100 fs r265694 : corrected an condition in doFormListening, which otherwise leads to uncommitable grid columns in documents which are loaded from disc (not in documents which are newly created) 2008-12-18 14:54:39 +0100 fs r265692 : Hide Columns text slightly changed 2008-12-18 13:44:15 +0100 fs r265683 : #i94068# properly display erros happening during a form operation - at least once, and at most once 2008-12-18 11:28:29 +0100 fs r265677 : document the new InputRequired property 2008-12-18 11:04:15 +0100 fs r265676 : #i96530# createControlLabelPair: don't actually create a label for a checkbox 2008-12-18 10:35:53 +0100 fs r265674 : #i95226# when a column is replaced, and it's the selected column, update the selection 2008-12-18 10:34:42 +0100 fs r265673 : #i95226# refactoring of the implReplaced method 2008-12-18 10:34:28 +0100 fs r265672 : #i95226# when replacing a grid column, update the property browser 2008-12-18 10:33:17 +0100 fs r265671 : when an element is removed, remove it from m_aCurrentSelection, too (if necessary) 2008-12-18 10:31:57 +0100 fs r265670 : Hide Columns text slightly changed 2008-12-18 10:15:56 +0100 lla r265669 : #i14538# do not allow to press finish button twice 2008-12-18 08:56:33 +0100 lla r265665 : #i10000# build depend=t problem hacked. 2008-12-17 20:59:10 +0100 fs r265656 : #i89821# don't let a MultiLineEdit select all text when it receives the focus 2008-12-17 12:10:54 +0100 fs r265594 : #i97356# 2008-12-17 12:06:29 +0100 fs r265593 : #i97355# Print -> Printable 2008-12-17 11:59:31 +0100 fs r265591 : #i97350# combo boxes comment on list selection (as list boxes already do) 2008-12-16 09:53:57 +0100 lla r265527 : #i96526# handling none existance default.otr 2008-12-15 14:48:39 +0100 lla r265500 : #i79423# reparing, was wrong implemented 2008-12-12 15:08:33 +0100 lla r265424 : #i10000# remove wrong carridge returns 2008-12-12 15:07:55 +0100 lla r265423 : #i10000# remove wrong carridge returns 2008-12-12 15:06:41 +0100 lla r265422 : #i10000# remove wrong carridge returns 2008-12-12 10:23:13 +0100 lla r265395 : #i95234# reset DragDelta 2008-12-12 10:11:02 +0100 lla r265393 : #i79423# pre versions of shrink buttons 2008-12-11 15:32:13 +0100 fs r265318 : prevent a deadlock during complex.dbaccess.DatabaseDocument test 2008-12-11 15:30:06 +0100 fs r265316 : prevent a deadlock during complex.dbaccess.DatabaseDocument test 2008-12-11 15:07:05 +0100 fs r265307 : removed superfluous text 2008-12-11 12:29:54 +0100 lla r265282 : #i96757# cleanup second try 2008-12-11 12:09:15 +0100 lla r265278 : #i96757# cleanup 2008-12-11 12:07:56 +0100 lla r265277 : #i95234# 2008-12-10 14:04:39 +0100 lla r265183 : #i93472# D&D fixes 2008-12-10 12:29:33 +0100 lla r265168 : #i94067# add (APP|SYS)FONT to XUnitConversion 2008-12-10 12:15:02 +0100 lla r265166 : #i94067# add APPFONT, SYSFONT to MeasureUnit 2008-12-10 11:52:10 +0100 lla r265163 : #i94067# add comments 2008-12-06 20:33:05 +0100 fs r264935 : #i10000# precompiled header 2008-12-05 09:29:26 +0100 fs r264889 : #i10000# 2008-12-05 09:07:31 +0100 fs r264888 : #i10000# 2008-12-04 13:25:46 +0100 fs r264838 : CWS-TOOLING: rebase CWS dba32a to trunk@264807 (milestone: DEV300:m37) 2008-12-03 23:49:13 +0100 fs r264808 : merge changes from trunk, to be able to do a rebase 2008-12-03 17:13:09 +0100 lla r264801 : #i91041# update documentation 2008-12-03 16:57:04 +0100 lla r264799 : #i94067# allow convert(Point|Size)ToLogic as pixel also 2008-12-02 12:36:32 +0100 lla r264687 : #i96782# bring toolbar objects to menu structure 2008-12-02 10:32:44 +0100 lla r264667 : #i86255# make property work 2008-12-02 09:22:47 +0100 lla r264659 : #i79423# add section shrink toolbar 2008-12-02 07:41:22 +0100 lla r264657 : #i86255# add check box for Escape DateTime property 2008-12-02 07:37:17 +0100 lla r264656 : #i79423# new shrink buttons 2008-11-26 11:55:28 +0100 fs r264362 : #i96541# FillPropertySet: do not only catch UnknownPropertyException when setting the Char/ParaAutoStyleName, but also care for the other exceptions which can be thrown by XPropertySet::setPropertyValue. This is actually not the real fix for #i96541#, but only a follow-up. The root cause of the issue was fixed in CWS dba301b, but this here was another (potential) bug which popped up during investigations. 2008-11-25 09:04:40 +0100 lla r264273 : #i82083# new toolbox in GroupsSorting dialog 2008-11-25 08:56:08 +0100 lla r264272 : #i94729# change token strings into string list, move class out of function 2008-11-24 15:52:22 +0100 fs r264251 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear 2008-11-24 15:51:45 +0100 fs r264249 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear 2008-11-24 15:45:21 +0100 fs r264244 : #i96532# the API default for ParamNameSubst is false 2008-11-24 15:45:04 +0100 fs r264243 : #i96532# do not set AppendTableAlias, NameLengthLimit, etc., if the OXMLDataSourceInstance is used for elements at which those attributes never appear 2008-11-24 15:44:14 +0100 fs r264241 : #i96532# slight refactoring of exporting properties which have a XML default different from the API default 2008-11-24 10:50:01 +0100 lla r264216 : #i82083# icons for new toolbox 2008-11-24 09:38:45 +0100 lla r264205 : #i82083# new toolbox in GroupsSorting dialog 2008-11-24 09:32:20 +0100 lla r264201 : #i96501# cleanup assertions 2008-11-24 09:12:55 +0100 lla r264198 : #i83082# enhancement for toolboxes, better HC comfort 2008-11-24 08:46:43 +0100 lla r264197 : #i96501# fix problem with negative positions 2008-11-21 11:44:47 +0100 fs r264118 : #i57042# introduce a counter for suspending change notifications of a given property, so recursive calls are possible 2008-11-21 11:02:17 +0100 fs r264116 : #i96388# don't call ExecuteContextMenuAction when no action was chosen by the user 2008-11-21 10:36:53 +0100 fs r264114 : #i47384# assertion was wrong 2008-11-14 12:33:15 +0100 fs r263673 : #i47318# XRowSetChangeBroadcaster/Listener, to be able to listen for changes in an XRowSetSupplier's RowSet 2008-11-14 12:30:29 +0100 fs r263672 : #i47318# more refactoring - BoundControlModels now listen at the XRowSetSupplier for changes in the supplied RowSet, to properly revoke/register old/new listeners at the RowSet - replaced ::osl::Mutex in various places with a ControlModelLock 2008-11-14 12:20:55 +0100 fs r263671 : when BUILD_TYPE includes QADEVOOO, the BUILD_QADEVOOO needs to bet set, too 2008-11-14 12:19:21 +0100 fs r263670 : oops, this was not intended to be committed 2008-11-12 11:08:10 +0100 fs r263579 : #i96096# new ctors taking UNO_QUERY_THROW 2008-11-12 09:15:54 +0100 fs r263576 : no need to load the complete dialog just to get a string which the dialog itself loads from resource 2008-11-10 17:55:45 +0100 fs r263535 : spelling in comment 2008-11-10 15:51:14 +0100 fs r263523 : #i47318# various refactorings 1. don't forward syntetic XLoadListener events from the grid control to the grid columns. Instead, forward GridColumn::XChild::setParent to the base class, which then can add itself as load listener 2. removed various occurances of XMultiServiceFactory, instead use the ::comphelper::ComponentContext 3. in O(Bound)ControlModel, have a mechanism to lock the instance (using ControlModelLock) and fire property changes when the last lock dies. 2008-11-10 12:49:24 +0100 oj r263513 : #i94729# change token strings into string list 2008-11-10 12:13:15 +0100 oj r263512 : #i95222# export chart:title style as well 2008-11-10 08:55:25 +0100 oj r263507 : #i93471# show the correct tabpage when selecting a different object 2008-11-07 23:38:29 +0100 fs r263490 : #i95977# for the event input controls, add a component extending their functionality so they're reset when the users presses DEL 2008-11-07 23:35:39 +0100 fs r263489 : during #i95977#: When a VCL Window is deleted from within VCL code, the respective WindowPeer was never disposed. Corrected this. 2008-11-07 14:57:07 +0100 fs r263420 : #i95963# human-readable display names for event bindings 2008-11-06 10:34:52 +0100 fs r263366 : #i95865# don't use library names containing InvalidZipEntryFileNames - workaround until i95409 is fixed 2008-11-06 10:33:28 +0100 fs r263365 : #i95865# copied the following change from CWS odfmetadata2 (not yet integrated) into CWS dba31d - comphelper/inc/comphelper/storagehelper.hxx, comphelper/source/misc/storagehelper.cxx: + add function IsValidZipEntryFileName (moved from module package)
2008-12-01CWS-TOOLING: integrate CWS dba31eRelease Engineers1-12/+37
2008-11-19 12:36:23 +0100 msc r263980 : i96104 2008-11-19 12:31:19 +0100 msc r263979 : i96104 2008-11-19 12:21:55 +0100 msc r263977 : i96104 2008-11-19 12:18:53 +0100 msc r263976 : i96104 2008-11-18 09:09:45 +0100 oj r263746 : disable color entry when area is set 2008-11-18 08:37:52 +0100 oj r263741 : #remove sub report entry 2008-11-17 11:20:25 +0100 fs r263708 : #i10000# 2008-11-17 11:06:52 +0100 fs r263706 : minimal version now is 3.1 2008-11-12 22:25:59 +0100 fs r263621 : #i96150# 2008-11-12 22:20:02 +0100 fs r263620 : rebased to m34 2008-11-12 21:39:41 +0100 fs r263618 : MANUAL REBASE: rebase CWS dba31d to DEV300_m34 2008-11-12 13:54:58 +0100 fs r263597 : #i96134# MediaDescriptor.URL is to be preferred over MediaDescriptor.FileName. Nonetheless, ensure both are handled 2008-11-12 13:53:40 +0100 fs r263596 : #i96134# re-enabled the code for #i41897#, a better fix is to come 2008-11-12 12:48:21 +0100 fs r263585 : #i96134# disable saving URLs of file-base databases relatively 2008-11-11 16:11:11 +0100 msc r263566 : #i96104# 2008-11-05 09:09:47 +0100 oj r263342 : #i88727# color noe added 2008-11-05 08:41:43 +0100 oj r263341 : #i77916# zoom added 2008-11-04 21:24:15 +0100 fs r263339 : disposing: call disposeAndClear without own mutex locked - some of our listeners insist on locking the SolarMutex, which sometimes led to deadlocks on the complex test cases 2008-11-04 21:23:15 +0100 fs r263338 : remove SolarMutex locking - this happned in CWS dba31c (in the CVS version), which this CWS was created from, but seems to got lost during resync 2008-11-04 20:49:50 +0100 fs r263335 : docu formatting 2008-11-04 20:06:39 +0100 fs r263334 : #i95826# use m_aMutex, not a DocumentGuard (wrongly resolved merge conflicts) 2008-11-04 17:36:29 +0100 fs r263332 : #i92688# properly revoke as XEventListener from m_xActiveController when disposing 2008-11-04 14:49:34 +0100 fs r263324 : #i92322# enable Input Required if EmptyIsNULL does not exist at the control 2008-10-31 11:10:04 +0100 oj r262857 : merge from cvs to svn 2008-10-31 09:46:45 +0100 oj r262853 : merge from cvs to svn 2008-10-31 08:46:37 +0100 oj r262849 : merge from cvs to svn 2008-10-31 08:44:24 +0100 oj r262848 : merge from cvs to svn 2008-10-31 08:43:33 +0100 oj r262847 : merge from cvs to svn 2008-10-31 08:42:28 +0100 oj r262846 : merge from cvs to svn 2008-10-31 08:41:58 +0100 oj r262845 : merge from cvs to svn 2008-10-31 08:41:32 +0100 oj r262844 : merge from cvs to svn 2008-10-28 12:19:50 +0100 oj r262733 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:42 +0100 oj r262732 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:36 +0100 oj r262731 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:31 +0100 oj r262730 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:22 +0100 oj r262729 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:18 +0100 oj r262728 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:10 +0100 oj r262727 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:06 +0100 oj r262726 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:05 +0100 oj r262725 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:19:01 +0100 oj r262724 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:18:50 +0100 oj r262723 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:18:41 +0100 oj r262722 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:18:40 +0100 oj r262721 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:18:27 +0100 oj r262720 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:18:10 +0100 oj r262719 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:18:01 +0100 oj r262718 : #iXXXXX#: migrate CWS dba31e to SVN 2008-10-28 12:17:39 +0100 oj r262717 : #iXXXXX#: migrate CWS dba31e to SVN
2008-06-25INTEGRATION: CWS dba30d (1.42.4); FILE MERGEDKurt Zenker1-16/+13
2008/05/27 12:28:02 fs 1.42.4.1: #i89657# refactoring, so that our binding's getValue is only called when our mutex is not locked
2008-05-14INTEGRATION: CWS dba241b_DEV300 (1.38.4); FILE MERGEDVladimir Glazounov1-6/+20
2008/04/01 19:42:24 fs 1.38.4.1: #i87690# loadData got a 'force' parameter, to enforce refreshing the list box when triggered via XRefreshable
2008-04-11INTEGRATION: CWS changefileheader (1.40.18); FILE MERGEDRüdiger Timm1-23/+18
2008/03/31 13:11:32 rt 1.40.18.1: #i87441# Change license header to LPGL v3.
2008-02-04INTEGRATION: CWS gcc430two (1.38.28); FILE MERGEDIvo Hinkelmann1-2/+4
2008/01/28 09:53:06 rene 1.38.28.1: more gcc 4.3.0 things
2008-01-29INTEGRATION: CWS oj30 (1.38.16); FILE MERGEDRüdiger Timm1-3/+3
2008/01/10 14:27:03 oj 1.38.16.1: #i85085# add std
2007-11-21/*************************************************************************Ivo Hinkelmann1-32/+22
* * OpenOffice.org - a multi-platform office productivity suite * * $RCSfile$ * * $Revision$ * * last change: $Author$ $Date$ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. * * * GNU Lesser General Public License Version 2.1 * ============================================= * Copyright 2005 by Sun Microsystems, Inc. * 901 San Antonio Road, Palo Alto, CA 94303, USA * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License version 2.1, as published by the Free Software Foundation. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * ************************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_forms.hxx" #include "ComboBox.hxx" #include "property.hxx" #include "property.hrc" #include "services.hxx" #include "frm_resource.hxx" #include "frm_resource.hrc" #include "BaseListBox.hxx" /** === begin UNO includes === **/ #include <com/sun/star/sdb/SQLErrorEvent.hpp> #include <com/sun/star/sdbc/XRowSet.hpp> #include <com/sun/star/sdbc/DataType.hpp> #include <com/sun/star/container/XIndexAccess.hpp> #include <com/sun/star/sdb/XSQLQueryComposerFactory.hpp> #include <com/sun/star/sdb/XQueriesSupplier.hpp> #include <com/sun/star/util/NumberFormat.hpp> #include <com/sun/star/sdbc/XConnection.hpp> #include <com/sun/star/sdb/SQLContext.hpp> #include <com/sun/star/sdb/CommandType.hpp> /** === end UNO includes === **/ #include <comphelper/numbers.hxx> #include <comphelper/basicio.hxx> #include <connectivity/dbtools.hxx> #include <connectivity/dbconversion.hxx> #include <cppuhelper/queryinterface.hxx> #include <rtl/ustrbuf.hxx> #include <tools/debug.hxx> #include <tools/diagnose_ex.h> #include <unotools/sharedunocomponent.hxx> using namespace dbtools; //......................................................................... namespace frm { using namespace ::com::sun::star::uno; using namespace ::com::sun::star::sdb; using namespace ::com::sun::star::sdbc; using namespace ::com::sun::star::sdbcx; using namespace ::com::sun::star::beans; using namespace ::com::sun::star::container; using namespace ::com::sun::star::form; using namespace ::com::sun::star::awt; using namespace ::com::sun::star::io; using namespace ::com::sun::star::lang; using namespace ::com::sun::star::util; using namespace ::com::sun::star::form::binding; //======================================================================== // class OComboBoxModel //======================================================================== //------------------------------------------------------------------ InterfaceRef SAL_CALL OComboBoxModel_CreateInstance(const Reference<XMultiServiceFactory>& _rxFactory) throw (RuntimeException) { return (*new OComboBoxModel(_rxFactory)); } //------------------------------------------------------------------------------ Sequence<Type> OComboBoxModel::_getTypes() { return ::comphelper::concatSequences( OBoundControlModel::_getTypes(), OEntryListHelper::getTypes(), OErrorBroadcaster::getTypes() ); } // XServiceInfo //------------------------------------------------------------------------------ StringSequence SAL_CALL OComboBoxModel::getSupportedServiceNames() throw(RuntimeException) { StringSequence aSupported = OBoundControlModel::getSupportedServiceNames(); sal_Int32 nOldLen = aSupported.getLength(); aSupported.realloc( nOldLen + 8 ); ::rtl::OUString* pStoreTo = aSupported.getArray() + nOldLen; *pStoreTo++ = BINDABLE_CONTROL_MODEL; *pStoreTo++ = DATA_AWARE_CONTROL_MODEL; *pStoreTo++ = VALIDATABLE_CONTROL_MODEL; *pStoreTo++ = BINDABLE_DATA_AWARE_CONTROL_MODEL; *pStoreTo++ = VALIDATABLE_BINDABLE_CONTROL_MODEL; *pStoreTo++ = FRM_SUN_COMPONENT_COMBOBOX; *pStoreTo++ = FRM_SUN_COMPONENT_DATABASE_COMBOBOX; *pStoreTo++ = BINDABLE_DATABASE_COMBO_BOX; return aSupported; } //------------------------------------------------------------------------------ Any SAL_CALL OComboBoxModel::queryAggregation(const Type& _rType) throw (RuntimeException) { Any aReturn = OBoundControlModel::queryAggregation( _rType ); if ( !aReturn.hasValue() ) aReturn = OEntryListHelper::queryInterface( _rType ); if ( !aReturn.hasValue() ) aReturn = OErrorBroadcaster::queryInterface( _rType ); return aReturn; } //------------------------------------------------------------------ DBG_NAME( OComboBoxModel ) //------------------------------------------------------------------ OComboBoxModel::OComboBoxModel(const Reference<XMultiServiceFactory>& _rxFactory) :OBoundControlModel( _rxFactory, VCL_CONTROLMODEL_COMBOBOX, FRM_SUN_CONTROL_COMBOBOX, sal_True, sal_True, sal_True ) // use the old control name for compytibility reasons ,OEntryListHelper( m_aMutex ) ,OErrorBroadcaster( OComponentHelper::rBHelper ) ,m_aListRowSet( getContext() ) ,m_eListSourceType(ListSourceType_TABLE) ,m_bEmptyIsNull(sal_True) { DBG_CTOR( OComboBoxModel, NULL ); m_nClassId = FormComponentType::COMBOBOX; initValueProperty( PROPERTY_TEXT, PROPERTY_ID_TEXT ); } //------------------------------------------------------------------ OComboBoxModel::OComboBoxModel( const OComboBoxModel* _pOriginal, const Reference<XMultiServiceFactory>& _rxFactory ) :OBoundControlModel( _pOriginal, _rxFactory ) ,OEntryListHelper( *_pOriginal, m_aMutex ) ,OErrorBroadcaster( OComponentHelper::rBHelper ) ,m_aListRowSet( getContext() ) ,m_aListSource( _pOriginal->m_aListSource ) ,m_aDefaultText( _pOriginal->m_aDefaultText ) ,m_eListSourceType( _pOriginal->m_eListSourceType ) ,m_bEmptyIsNull( _pOriginal->m_bEmptyIsNull ) { DBG_CTOR( OComboBoxModel, NULL ); } //------------------------------------------------------------------ OComboBoxModel::~OComboBoxModel() { if (!OComponentHelper::rBHelper.bDisposed) { acquire(); dispose(); } DBG_DTOR( OComboBoxModel, NULL ); } // XCloneable //------------------------------------------------------------------------------ IMPLEMENT_DEFAULT_CLONING( OComboBoxModel ) //------------------------------------------------------------------------------ void OComboBoxModel::disposing() { OBoundControlModel::disposing(); OEntryListHelper::disposing(); OErrorBroadcaster::disposing(); m_xFormatter = NULL; } //------------------------------------------------------------------------------ void OComboBoxModel::getFastPropertyValue(Any& _rValue, sal_Int32 _nHandle) const { switch (_nHandle) { case PROPERTY_ID_LISTSOURCETYPE: _rValue <<= m_eListSourceType; break; case PROPERTY_ID_LISTSOURCE: _rValue <<= m_aListSource; break; case PROPERTY_ID_EMPTY_IS_NULL: _rValue <<= m_bEmptyIsNull; break; case PROPERTY_ID_DEFAULT_TEXT: _rValue <<= m_aDefaultText; break; case PROPERTY_ID_STRINGITEMLIST: _rValue <<= getStringItemList(); break; default: OBoundControlModel::getFastPropertyValue(_rValue, _nHandle); } } //------------------------------------------------------------------------------ void OComboBoxModel::setFastPropertyValue_NoBroadcast(sal_Int32 _nHandle, const Any& _rValue) throw (Exception) { switch (_nHandle) { case PROPERTY_ID_LISTSOURCETYPE : DBG_ASSERT(_rValue.getValueType().equals(::getCppuType(reinterpret_cast<ListSourceType*>(NULL))), "OComboBoxModel::setFastPropertyValue_NoBroadcast : invalid type !" ); _rValue >>= m_eListSourceType; break; case PROPERTY_ID_LISTSOURCE : DBG_ASSERT(_rValue.getValueType().getTypeClass() == TypeClass_STRING, "OComboBoxModel::setFastPropertyValue_NoBroadcast : invalid type !" ); _rValue >>= m_aListSource; // die ListSource hat sich geaendert -> neu laden if (ListSourceType_VALUELIST != m_eListSourceType) { if ( m_xCursor.is() && !hasField() && !hasExternalListSource() ) // combo box is already connected to a database, and no external list source // data source changed -> refresh loadData(); } break; case PROPERTY_ID_EMPTY_IS_NULL : DBG_ASSERT(_rValue.getValueType().getTypeClass() == TypeClass_BOOLEAN, "OComboBoxModel::setFastPropertyValue_NoBroadcast : invalid type !" ); _rValue >>= m_bEmptyIsNull; break; case PROPERTY_ID_DEFAULT_TEXT : DBG_ASSERT(_rValue.getValueType().getTypeClass() == TypeClass_STRING, "OComboBoxModel::setFastPropertyValue_NoBroadcast : invalid type !" ); _rValue >>= m_aDefaultText; resetNoBroadcast(); break; case PROPERTY_ID_STRINGITEMLIST: setNewStringItemList( _rValue ); break; default: OBoundControlModel::setFastPropertyValue_NoBroadcast(_nHandle, _rValue); } } //------------------------------------------------------------------------------ sal_Bool OComboBoxModel::convertFastPropertyValue( Any& _rConvertedValue, Any& _rOldValue, sal_Int32 _nHandle, const Any& _rValue) throw (IllegalArgumentException) { sal_Bool bModified(sal_False); switch (_nHandle) { case PROPERTY_ID_LISTSOURCETYPE : bModified = tryPropertyValueEnum(_rConvertedValue, _rOldValue, _rValue, m_eListSourceType); break; case PROPERTY_ID_LISTSOURCE : bModified = tryPropertyValue(_rConvertedValue, _rOldValue, _rValue, m_aListSource); break; case PROPERTY_ID_EMPTY_IS_NULL : bModified = tryPropertyValue(_rConvertedValue, _rOldValue, _rValue, m_bEmptyIsNull); break; case PROPERTY_ID_DEFAULT_TEXT : bModified = tryPropertyValue(_rConvertedValue, _rOldValue, _rValue, m_aDefaultText); break; case PROPERTY_ID_STRINGITEMLIST: bModified = convertNewListSourceProperty( _rConvertedValue, _rOldValue, _rValue ); break; default: bModified = OBoundControlModel::convertFastPropertyValue(_rConvertedValue, _rOldValue, _nHandle, _rValue); break; } return bModified; } //------------------------------------------------------------------------------ void OComboBoxModel::describeFixedProperties( Sequence< Property >& _rProps ) const { BEGIN_DESCRIBE_PROPERTIES( 6, OBoundControlModel ) DECL_PROP1(TABINDEX, sal_Int16, BOUND); DECL_PROP1(LISTSOURCETYPE, ListSourceType, BOUND); DECL_PROP1(LISTSOURCE, ::rtl::OUString, BOUND); DECL_BOOL_PROP1(EMPTY_IS_NULL, BOUND); DECL_PROP1(DEFAULT_TEXT, ::rtl::OUString, BOUND); DECL_PROP1(STRINGITEMLIST, Sequence< ::rtl::OUString >,BOUND); END_DESCRIBE_PROPERTIES(); } //------------------------------------------------------------------------------ void OComboBoxModel::describeAggregateProperties( Sequence< Property >& _rAggregateProps ) const { OBoundControlModel::describeAggregateProperties( _rAggregateProps ); // superseded properties: RemoveProperty( _rAggregateProps, PROPERTY_STRINGITEMLIST ); } //------------------------------------------------------------------------------ ::rtl::OUString SAL_CALL OComboBoxModel::getServiceName() throw(RuntimeException) { return FRM_COMPONENT_COMBOBOX; // old (non-sun) name for compatibility ! } //------------------------------------------------------------------------------ void SAL_CALL OComboBoxModel::write(const Reference<stario::XObjectOutputStream>& _rxOutStream) throw(stario::IOException, RuntimeException) { OBoundControlModel::write(_rxOutStream); // Version // Version 0x0002: EmptyIsNull // Version 0x0003: ListSource->Seq // Version 0x0004: DefaultText // Version 0x0005: HelpText _rxOutStream->writeShort(0x0006); // Maskierung fuer any sal_uInt16 nAnyMask = 0; if (m_aBoundColumn.getValueType().getTypeClass() == TypeClass_SHORT) nAnyMask |= BOUNDCOLUMN; _rxOutStream << nAnyMask; StringSequence aListSourceSeq(&m_aListSource, 1); _rxOutStream << aListSourceSeq; _rxOutStream << (sal_Int16)m_eListSourceType; if ((nAnyMask & BOUNDCOLUMN) == BOUNDCOLUMN) { sal_Int16 nBoundColumn = 0; m_aBoundColumn >>= nBoundColumn; _rxOutStream << nBoundColumn; } _rxOutStream << (sal_Bool)m_bEmptyIsNull; _rxOutStream << m_aDefaultText; writeHelpTextCompatibly(_rxOutStream); // from version 0x0006 : common properties writeCommonProperties(_rxOutStream); } //------------------------------------------------------------------------------ void SAL_CALL OComboBoxModel::read(const Reference<stario::XObjectInputStream>& _rxInStream) throw(stario::IOException, RuntimeException) { OBoundControlModel::read(_rxInStream); ::osl::MutexGuard aGuard(m_aMutex); // since we are "overwriting" the StringItemList of our aggregate (means we have // an own place to store the value, instead of relying on our aggregate storing it), // we need to respect what the aggregate just read for the StringItemList property. try { if ( m_xAggregateSet.is() ) setNewStringItemList( m_xAggregateSet->getPropertyValue( PROPERTY_STRINGITEMLIST ) ); } catch( const Exception& ) { OSL_ENSURE( sal_False, "OComboBoxModel::read: caught an exception while examining the aggregate's string item list!" ); } // Version sal_uInt16 nVersion = _rxInStream->readShort(); DBG_ASSERT(nVersion > 0, "OComboBoxModel::read : version 0 ? this should never have been written !"); if (nVersion > 0x0006) { DBG_ERROR("OComboBoxModel::read : invalid (means unknown) version !"); m_aListSource = ::rtl::OUString(); m_aBoundColumn <<= (sal_Int16)0; m_aDefaultText = ::rtl::OUString(); m_eListSourceType = ListSourceType_TABLE; m_bEmptyIsNull = sal_True; defaultCommonProperties(); return; } // Maskierung fuer any sal_uInt16 nAnyMask; _rxInStream >> nAnyMask; // ListSource if (nVersion < 0x0003) { ::rtl::OUString sListSource; _rxInStream >> m_aListSource; } else // nVersion == 4 { m_aListSource = ::rtl::OUString(); StringSequence aListSource; _rxInStream >> aListSource; const ::rtl::OUString* pToken = aListSource.getConstArray(); sal_Int32 nLen = aListSource.getLength(); for (sal_Int32 i = 0; i < nLen; ++i, ++pToken) m_aListSource += *pToken; } sal_Int16 nListSourceType; _rxInStream >> nListSourceType; m_eListSourceType = (ListSourceType)nListSourceType; if ((nAnyMask & BOUNDCOLUMN) == BOUNDCOLUMN) { sal_Int16 nValue; _rxInStream >> nValue; m_aBoundColumn <<= nValue; } if (nVersion > 0x0001) { sal_Bool bNull; _rxInStream >> bNull; m_bEmptyIsNull = bNull; } if (nVersion > 0x0003) // nVersion == 4 _rxInStream >> m_aDefaultText; // Stringliste muss geleert werden, wenn eine Listenquelle gesetzt ist // dieses kann der Fall sein wenn im alive modus gespeichert wird if ( m_aListSource.getLength() && !hasExternalListSource() ) { setFastPropertyValue( PROPERTY_ID_STRINGITEMLIST, makeAny( StringSequence() ) ); } if (nVersion > 0x0004) readHelpTextCompatibly(_rxInStream); if (nVersion > 0x0005) readCommonProperties(_rxInStream); // Nach dem Lesen die Defaultwerte anzeigen if ( getControlSource().getLength() ) { // (not if we don't have a control source - the "State" property acts like it is persistent, then resetNoBroadcast(); } } //------------------------------------------------------------------------------ void OComboBoxModel::loadData() { DBG_ASSERT(m_eListSourceType != ListSourceType_VALUELIST, "OComboBoxModel::loadData : do not call for a value list !"); DBG_ASSERT( !hasExternalListSource(), "OComboBoxModel::loadData: cannot load from DB when I have an external list source!" ); if ( hasExternalListSource() ) return; // Connection holen Reference<XRowSet> xForm(m_xCursor, UNO_QUERY); if (!xForm.is()) return; Reference<XConnection> xConnection = getConnection(xForm); if (!xConnection.is()) return; Reference<XServiceInfo> xServiceInfo(xConnection, UNO_QUERY); if (!xServiceInfo.is() || !xServiceInfo->supportsService(SRV_SDB_CONNECTION)) { DBG_ERROR("OComboBoxModel::loadData : invalid connection !"); return; } if (!m_aListSource.getLength() || m_eListSourceType == ListSourceType_VALUELIST) return; ::utl::SharedUNOComponent< XResultSet > xListCursor; try { m_aListRowSet.setConnection( xConnection ); bool bExecuteRowSet( false ); switch (m_eListSourceType) { case ListSourceType_TABLEFIELDS: // don't work with a statement here, the fields will be collected below break; case ListSourceType_TABLE: { // does the bound field belong to the table ? // if we use an alias for the bound field, we won't find it // in that case we use the first field of the table Reference<XNameAccess> xFieldsByName = getTableFields(xConnection, m_aListSource); Reference<XIndexAccess> xFieldsByIndex(xFieldsByName, UNO_QUERY); ::rtl::OUString aFieldName; if ( xFieldsByName.is() && xFieldsByName->hasByName( getControlSource() ) ) { aFieldName = getControlSource(); } else { // otherwise look for the alias Reference<XSQLQueryComposerFactory> xFactory(xConnection, UNO_QUERY); if (!xFactory.is()) break; Reference<XSQLQueryComposer> xComposer = xFactory->createQueryComposer(); try { Reference<XPropertySet> xFormAsSet(xForm, UNO_QUERY); ::rtl::OUString aStatement; xFormAsSet->getPropertyValue(PROPERTY_ACTIVECOMMAND) >>= aStatement; xComposer->setQuery(aStatement); } catch(Exception&) { disposeComponent(xComposer); break; } // search the field Reference< XColumnsSupplier > xSupplyFields(xComposer, UNO_QUERY); DBG_ASSERT(xSupplyFields.is(), "OComboBoxModel::loadData : invalid query composer !"); Reference< XNameAccess > xFieldNames = xSupplyFields->getColumns(); if ( xFieldNames->hasByName( getControlSource() ) ) { Reference< XPropertySet > xComposerFieldAsSet; xFieldNames->getByName( getControlSource() ) >>= xComposerFieldAsSet; if (hasProperty(PROPERTY_FIELDSOURCE, xComposerFieldAsSet)) xComposerFieldAsSet->getPropertyValue(PROPERTY_FIELDSOURCE) >>= aFieldName; } disposeComponent(xComposer); } if (!aFieldName.getLength()) break; Reference<XDatabaseMetaData> xMeta = xConnection->getMetaData(); OSL_ENSURE(xMeta.is(),"No database meta data!"); if ( xMeta.is() ) { ::rtl::OUString aQuote = xMeta->getIdentifierQuoteString(); ::rtl::OUString sCatalog, sSchema, sTable; qualifiedNameComponents( xMeta, m_aListSource, sCatalog, sSchema, sTable, eInDataManipulation ); ::rtl::OUStringBuffer aStatement; aStatement.appendAscii( "SELECT DISTINCT " ); aStatement.append ( quoteName( aQuote, aFieldName ) ); aStatement.appendAscii( " FROM " ); aStatement.append ( composeTableNameForSelect( xConnection, sCatalog, sSchema, sTable ) ); m_aListRowSet.setEscapeProcessing( sal_False ); m_aListRowSet.setCommand( aStatement.makeStringAndClear() ); bExecuteRowSet = true; } } break; case ListSourceType_QUERY: { m_aListRowSet.setCommandFromQuery( m_aListSource ); bExecuteRowSet = true; } break; default: { m_aListRowSet.setEscapeProcessing( ListSourceType_SQLPASSTHROUGH != m_eListSourceType ); m_aListRowSet.setCommand( m_aListSource ); bExecuteRowSet = true; } } if ( bExecuteRowSet ) { if ( !m_aListRowSet.isDirty() ) { // if none of the settings of the row set changed, compared to the last // invocation of loadData, then don't re-fill the list. Instead, assume // the list entries are the same. return; } xListCursor.reset( m_aListRowSet.execute() ); } } catch(SQLException& eSQL) { onError(eSQL, FRM_RES_STRING(RID_BASELISTBOX_ERROR_FILLLIST)); return; } catch( const Exception& ) { DBG_UNHANDLED_EXCEPTION(); return; } vector< ::rtl::OUString > aStringList; aStringList.reserve(16); try { OSL_ENSURE( xListCursor.is() || ( ListSourceType_TABLEFIELDS == m_eListSourceType ), "OComboBoxModel::loadData: logic error!" ); if ( !xListCursor.is() && ( ListSourceType_TABLEFIELDS != m_eListSourceType ) ) return; switch (m_eListSourceType) { case ListSourceType_SQL: case ListSourceType_SQLPASSTHROUGH: case ListSourceType_TABLE: case ListSourceType_QUERY: { // die XDatabaseVAriant der ersten Spalte Reference<XColumnsSupplier> xSupplyCols(xListCursor, UNO_QUERY); DBG_ASSERT(xSupplyCols.is(), "OComboBoxModel::loadData : cursor supports the row set service but is no column supplier?!"); Reference<XIndexAccess> xColumns; if (xSupplyCols.is()) { xColumns = Reference<XIndexAccess>(xSupplyCols->getColumns(), UNO_QUERY); DBG_ASSERT(xColumns.is(), "OComboBoxModel::loadData : no columns supplied by the row set !"); } Reference< XPropertySet > xDataField; if ( xColumns.is() ) xColumns->getByIndex(0) >>= xDataField; if ( !xDataField.is() ) return; ::dbtools::FormattedColumnValue aValueFormatter( getContext(), xForm, xDataField ); // Listen fuellen sal_Int16 i = 0; // per definitionem the list cursor is positioned _before_ the first row at the moment while (xListCursor->next() && (i++<SHRT_MAX)) // max anzahl eintraege { aStringList.push_back( aValueFormatter.getFormattedValue() ); } } break; case ListSourceType_TABLEFIELDS: { Reference<XNameAccess> xFieldNames = getTableFields(xConnection, m_aListSource); if (xFieldNames.is()) { StringSequence seqNames = xFieldNames->getElementNames(); sal_Int32 nFieldsCount = seqNames.getLength(); const ::rtl::OUString* pustrNames = seqNames.getConstArray(); for (sal_Int32 k=0; k<nFieldsCount; ++k) aStringList.push_back(pustrNames[k]); } } break; default: OSL_ENSURE( false, "OComboBoxModel::loadData: unreachable!" ); break; } } catch(SQLException& eSQL) { onError(eSQL, FRM_RES_STRING(RID_BASELISTBOX_ERROR_FILLLIST)); return; } catch( const Exception& ) { DBG_UNHANDLED_EXCEPTION(); return; } // String-Sequence fuer ListBox erzeugen StringSequence aStringSeq(aStringList.size()); ::rtl::OUString* pStringAry = aStringSeq.getArray(); for (sal_Int32 i = 0; i<aStringSeq.getLength(); ++i) pStringAry[i] = aStringList[i]; // String-Sequence an ListBox setzen setFastPropertyValue( PROPERTY_ID_STRINGITEMLIST, makeAny( aStringSeq ) ); } //------------------------------------------------------------------------------ void OComboBoxModel::onConnectedDbColumn( const Reference< XInterface >& _rxForm ) { Reference<XPropertySet> xField = getField(); if ( xField.is() ) m_pValueFormatter.reset( new ::dbtools::FormattedColumnValue( getContext(), Reference< XRowSet >( _rxForm, UNO_QUERY ), xField ) ); getPropertyValue( PROPERTY_STRINGITEMLIST ) >>= m_aDesignModeStringItems; // Daten nur laden, wenn eine Listenquelle angegeben wurde if ( m_aListSource.getLength() && m_xCursor.is() && !hasExternalListSource() ) loadData(); } //------------------------------------------------------------------------------ void OComboBoxModel::onDisconnectedDbColumn() { m_pValueFormatter.reset(); // reset the string item list if ( !hasExternalListSource() ) setFastPropertyValue( PROPERTY_ID_STRINGITEMLIST, makeAny( m_aDesignModeStringItems ) ); } //------------------------------------------------------------------------------ void SAL_CALL OComboBoxModel::reloaded( const EventObject& aEvent ) throw(RuntimeException) { OBoundControlModel::reloaded(aEvent); // reload data if we have a list source if ( m_aListSource.getLength() && m_xCursor.is() && !hasExternalListSource() ) loadData(); } //----------------------------------------------------------------------------- sal_Bool OComboBoxModel::commitControlValueToDbColumn( bool _bPostReset ) { ::rtl::OUString aNewValue; m_xAggregateFastSet->getFastPropertyValue( getValuePropertyAggHandle() ) >>= aNewValue; sal_Bool bModified = ( aNewValue != m_aSaveValue ); if ( bModified ) { if (!aNewValue.getLength() && !isRequired() && m_bEmptyIsNull) m_xColumnUpdate->updateNull(); else { try { OSL_PRECOND( m_pValueFormatter.get(), "OComboBoxModel::commitControlValueToDbColumn: no value formatter!" ); if ( m_pValueFormatter.get() ) { if ( !m_pValueFormatter->setFormattedValue( aNewValue ) ) return sal_False; } else m_xColumnUpdate->updateString( aNewValue ); } catch ( const Exception& ) { return sal_False; } } m_aSaveValue = aNewValue; } // add the new value to the list sal_Bool bAddToList = bModified && !_bPostReset; // (only if this is not the "commit" triggered by a "reset") if ( bAddToList ) { StringSequence aStringItemList; if ( getPropertyValue( PROPERTY_STRINGITEMLIST ) >>= aStringItemList ) { const ::rtl::OUString* pStringItems = aStringItemList.getConstArray(); sal_Int32 i; for (i=0; i<aStringItemList.getLength(); ++i, ++pStringItems) { if (pStringItems->equals(aNewValue)) break; } // not found -> add if (i >= aStringItemList.getLength()) { sal_Int32 nOldLen = aStringItemList.getLength(); aStringItemList.realloc( nOldLen + 1 ); aStringItemList.getArray()[ nOldLen ] = aNewValue; setFastPropertyValue( PROPERTY_ID_STRINGITEMLIST, makeAny( aStringItemList ) ); } } } return sal_True; } // XPropertiesChangeListener //------------------------------------------------------------------------------ Any OComboBoxModel::translateDbColumnToControlValue() { OSL_PRECOND( m_pValueFormatter.get(), "OComboBoxModel::translateDbColumnToControlValue: no value formatter!" ); if ( m_pValueFormatter.get() ) m_aSaveValue = m_pValueFormatter->getFormattedValue(); else m_aSaveValue = ::rtl::OUString(); return makeAny( m_aSaveValue ); } //------------------------------------------------------------------------------ Any OComboBoxModel::getDefaultForReset() const { return makeAny( m_aDefaultText ); } //------------------------------------------------------------------------------ sal_Bool OComboBoxModel::approveValueBinding( const Reference< XValueBinding >& _rxBinding ) { OSL_PRECOND( _rxBinding.is(), "OComboBoxModel::approveValueBinding: invalid binding!" ); // only strings are accepted for simplicity return _rxBinding.is() && _rxBinding->supportsType( ::getCppuType( static_cast< ::rtl::OUString* >( NULL ) ) ); } //-------------------------------------------------------------------- void OComboBoxModel::stringItemListChanged( ) { if ( m_xAggregateSet.is() ) m_xAggregateSet->setPropertyValue( PROPERTY_STRINGITEMLIST, makeAny( getStringItemList() ) ); } //-------------------------------------------------------------------- void OComboBoxModel::connectedExternalListSource( ) { // TODO? } //-------------------------------------------------------------------- void OComboBoxModel::disconnectedExternalListSource( ) { // TODO? } //-------------------------------------------------------------------- void SAL_CALL OComboBoxModel::disposing( const EventObject& _rSource ) throw ( RuntimeException ) { if ( !OEntryListHelper::handleDisposing( _rSource ) ) OBoundControlModel::disposing( _rSource ); } //======================================================================== //= OComboBoxControl //======================================================================== //------------------------------------------------------------------ InterfaceRef SAL_CALL OComboBoxControl_CreateInstance(const Reference<XMultiServiceFactory>& _rxFactory) throw (RuntimeException) { return *(new OComboBoxControl(_rxFactory)); } //------------------------------------------------------------------------------ OComboBoxControl::OComboBoxControl(const Reference<XMultiServiceFactory>& _rxFactory) :OBoundControl(_rxFactory, VCL_CONTROL_COMBOBOX) { } //------------------------------------------------------------------------------ StringSequence SAL_CALL OComboBoxControl::getSupportedServiceNames() throw(RuntimeException) { StringSequence aSupported = OBoundControl::getSupportedServiceNames(); aSupported.realloc(aSupported.getLength() + 1); ::rtl::OUString* pArray = aSupported.getArray(); pArray[aSupported.getLength()-1] = FRM_SUN_CONTROL_COMBOBOX; return aSupported; } //......................................................................... } //.........................................................................
2007-11-01INTEGRATION: CWS dba24b (1.36.38); FILE MERGEDJens-Heiner Rechtien1-157/+83
2007/09/06 08:02:25 fs 1.36.38.2: fix #i76024# for combo boxes, too 2007/09/04 21:34:57 fs 1.36.38.1: #i73237# use the new FormatterColumnValue class, which encapsulates what we previously did manually (format column values according to the column's format)
2007-03-09INTEGRATION: CWS hb02 (1.34.30); FILE MERGEDOliver Bolte1-21/+12
2007/02/06 10:29:54 hbrinkm 1.34.30.3: RESYNC: (1.34-1.35); FILE MERGED 2007/02/01 12:09:35 fs 1.34.30.2: #i74051# split describeFixedProperties in describeFixedProperties and describeAggregateProperties 2007/01/31 10:55:24 fs 1.34.30.1: changed handling of properties in the course of #i74051#
2007-01-15INTEGRATION: CWS dba22b (1.34.32); FILE MERGEDVladimir Glazounov1-4/+4
2006/12/04 14:24:37 fs 1.34.32.1: during #i69405#: getField().is() -> hasField()
2006-09-16INTEGRATION: CWS pchfix02 (1.33.16); FILE MERGEDOliver Bolte1-2/+5
2006/09/01 17:27:33 kaib 1.33.16.1: #i68856# Added header markers and pch files
2006-07-19INTEGRATION: CWS warningfixes02 (1.31.2); FILE MERGEDKurt Zenker1-3/+3
2006/06/30 12:17:35 sb 1.31.2.1: #i66577# Made the code compile (warning-free) on a unxlngi6.pro GCC 4.1.1 Linux box.
2006-07-10INTEGRATION: CWS qiq (1.30.24); FILE MERGEDOliver Bolte1-5/+5
2006/06/27 10:54:56 fs 1.30.24.2: RESYNC: (1.30-1.31); FILE MERGED 2006/05/23 13:57:30 fs 1.30.24.1: some refactoring of compose/quoteTableName and friends, in preparation of #i51143#
2006-06-19INTEGRATION: CWS warnings01 (1.29.68); FILE MERGEDJens-Heiner Rechtien1-21/+25
2006/04/07 17:42:04 sb 1.29.68.2: RESYNC: (1.29-1.30); FILE MERGED 2006/03/14 15:20:25 fs 1.29.68.1: #i57457# warning-free code
2006-03-14INTEGRATION: CWS pbrwuno (1.29.14); FILE MERGEDVladimir Glazounov1-5/+2
2005/10/17 12:19:58 fs 1.29.14.1: removed some obsolete includes
2005-09-08INTEGRATION: CWS ooo19126 (1.28.68); FILE MERGEDRüdiger Timm1-47/+21
2005/09/05 13:50:14 rt 1.28.68.1: #i54170# Change license header: remove SISSL
2005-02-16INTEGRATION: CWS dr33 (1.27.26); FILE MERGEDVladimir Glazounov1-3/+3
2005/02/14 16:43:57 dr 1.27.26.1: #i42367# remove non-ASCII characters from C++ sources
2004-11-16INTEGRATION: CWS eforms2 (1.24.24); FILE MERGEDOliver Bolte1-8/+8
2004/08/16 17:08:27 dvo 1.24.24.3: RESYNC: (1.25-1.26); FILE MERGED 2004/07/27 14:12:22 fs 1.24.24.2: RESYNC: (1.24-1.25); FILE MERGED 2004/07/19 15:18:40 fs 1.24.24.1: during #114856#: properly determine who instigated a setControlValue, so that we can propagate the values to appropriate interested parties / while we were here: make some attributes private ...
2004-08-02INTEGRATION: CWS insight01 (1.22.22); FILE MERGEDJens-Heiner Rechtien1-9/+16
2004/07/23 12:28:34 oj 1.22.22.3: RESYNC: (1.24-1.25); FILE MERGED 2004/05/28 19:56:46 oj 1.22.22.2: RESYNC: (1.22-1.24); FILE MERGED 2004/04/23 06:21:36 oj 1.22.22.1: new switch to disable catalog and schema
2004-07-06INTEGRATION: CWS dba13 (1.24.18); FILE MERGEDRüdiger Timm1-3/+3
2004/06/25 06:43:53 fs 1.24.18.1: #i29021# proper cloning of the OEntryListHelper
2004-05-10INTEGRATION: CWS dba09 (1.22.34); FILE MERGEDJens-Heiner Rechtien1-3/+16
2004/04/27 06:15:21 fs 1.22.34.3: RESYNC: (1.22-1.23); FILE MERGED 2004/03/19 08:25:33 fs 1.22.34.2: #i26715# when reading the binary format, care for 'overwritten' aggregate properties 2004/03/17 11:51:03 fs 1.22.34.1: #92831# at runtime, don't use 'stardiv.one.form.control.*' service names - translate when writing old (binary) format
2004-04-02INTEGRATION: CWS frmvalidation (1.22.26); FILE MERGEDRüdiger Timm1-18/+24
2004/03/12 12:10:32 fs 1.22.26.2: #i21506# new services for validating form control values 2004/03/11 16:46:12 fs 1.22.26.1: mass checkin - #i25106# core for validating form controls via external XValidator instances - moved the services/interfaces related to binding form controls to external value suppliers into css.form.binding (out of drafts.css.form/component)
2003-12-11INTEGRATION: CWS frmcontrols01 (1.20.2); FILE MERGEDKurt Zenker1-4/+4
2003/11/04 12:23:06 fs 1.20.2.1: whitespacing
2003-12-01INTEGRATION: CWS geordi2q10 (1.20.10); FILE MERGEDRüdiger Timm1-7/+9
2003/11/28 11:15:28 rt 1.20.10.1: #111934#: join CWS dba01pp1
2003-10-21INTEGRATION: CWS formcelllinkage (1.19.38); FILE MERGEDOliver Bolte1-83/+146
2003/10/01 09:18:19 fs 1.19.38.1: #i18994# merging the changes from the CWS fs002