summaryrefslogtreecommitdiff
path: root/svx/source
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2004-04-13 09:58:14 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2004-04-13 09:58:14 +0000
commite522a2e5d5685e8fa8f944968984f08e20f0575f (patch)
tree5726cf328d535ab891cbe8c1f914fbf260075247 /svx/source
parent652dbec1286215a340b9623866660a821192acce (diff)
INTEGRATION: CWS frmcontrols02 (1.9.18); FILE MERGED
2004/03/24 10:20:43 fs 1.9.18.2: RESYNC: (1.9-1.11); FILE MERGED 2004/01/22 10:39:23 fs 1.9.18.1: #i11424 NAVGATIONBAR
Diffstat (limited to 'svx/source')
-rw-r--r--svx/source/form/fmobjfac.cxx171
1 files changed, 96 insertions, 75 deletions
diff --git a/svx/source/form/fmobjfac.cxx b/svx/source/form/fmobjfac.cxx
index 53af71ed2b4b..12c246aca8b4 100644
--- a/svx/source/form/fmobjfac.cxx
+++ b/svx/source/form/fmobjfac.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: fmobjfac.cxx,v $
*
- * $Revision: 1.11 $
+ * $Revision: 1.12 $
*
- * last change: $Author: obo $ $Date: 2004-03-19 12:19:42 $
+ * last change: $Author: hr $ $Date: 2004-04-13 10:58:14 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -223,101 +223,122 @@ IMPL_LINK(FmFormObjFactory, MakeObject, SdrObjFactory*, pObjFactory)
{
if (pObjFactory->nInventor == FmFormInventor)
{
- switch (pObjFactory->nIdentifier)
+ ::rtl::OUString sServiceSpecifier;
+
+ typedef ::std::vector< ::std::pair< ::rtl::OUString, Any > > PropertyValueArray;
+ PropertyValueArray aInitialProperties;
+
+ switch ( pObjFactory->nIdentifier )
{
- case OBJ_FM_CONTROL: // allgemeines Object
- {
- pObjFactory->pNewObj = new FmFormObj(pObjFactory->nIdentifier);
- } break;
case OBJ_FM_EDIT:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_EDIT,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_EDIT;
+ break;
+
case OBJ_FM_BUTTON:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_COMMANDBUTTON,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_COMMANDBUTTON;
+ break;
+
case OBJ_FM_FIXEDTEXT:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_FIXEDTEXT,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_FIXEDTEXT;
+ break;
+
case OBJ_FM_LISTBOX:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_LISTBOX,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_LISTBOX;
+ break;
+
case OBJ_FM_CHECKBOX:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_CHECKBOX,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_CHECKBOX;
+ break;
+
case OBJ_FM_RADIOBUTTON:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_RADIOBUTTON,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_RADIOBUTTON;
+ break;
+
case OBJ_FM_GROUPBOX:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_GROUPBOX,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_GROUPBOX;
+ break;
+
case OBJ_FM_COMBOBOX:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_COMBOBOX,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_COMBOBOX;
+ break;
+
case OBJ_FM_GRID:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_GRID,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_GRID;
+ break;
+
case OBJ_FM_IMAGEBUTTON:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_IMAGEBUTTON,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_IMAGEBUTTON;
+ break;
+
case OBJ_FM_FILECONTROL:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_FILECONTROL,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_FILECONTROL;
+ break;
+
case OBJ_FM_DATEFIELD:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_DATEFIELD,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_DATEFIELD;
+ break;
+
case OBJ_FM_TIMEFIELD:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_TIMEFIELD,pObjFactory->nIdentifier);
- lcl_initProperty( static_cast< FmFormObj* >( pObjFactory->pNewObj ), FM_PROP_TIMEMAX, makeAny( (sal_Int32)( Time( 23, 59, 59, 99 ).GetTime() ) ) );
- } break;
+ sServiceSpecifier = FM_COMPONENT_TIMEFIELD;
+ aInitialProperties.push_back( PropertyValueArray::value_type( FM_PROP_TIMEMAX, makeAny( (sal_Int32)( Time( 23, 59, 59, 99 ).GetTime() ) ) ) );
+ break;
+
case OBJ_FM_NUMERICFIELD:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_NUMERICFIELD,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_NUMERICFIELD;
+ break;
+
case OBJ_FM_CURRENCYFIELD:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_CURRENCYFIELD,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_CURRENCYFIELD;
+ break;
+
case OBJ_FM_PATTERNFIELD:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_PATTERNFIELD,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_PATTERNFIELD;
+ break;
+
case OBJ_FM_HIDDEN:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_HIDDEN,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_HIDDEN;
+ break;
+
case OBJ_FM_IMAGECONTROL:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_IMAGECONTROL,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_IMAGECONTROL;
+ break;
+
case OBJ_FM_FORMATTEDFIELD:
- {
- pObjFactory->pNewObj = new FmFormObj(FM_COMPONENT_FORMATTEDFIELD,pObjFactory->nIdentifier);
- } break;
+ sServiceSpecifier = FM_COMPONENT_FORMATTEDFIELD;
+ break;
+
+ case OBJ_FM_NAVIGATIONBAR:
+ sServiceSpecifier = FM_SUN_COMPONENT_NAVIGATIONBAR;
+ break;
+
case OBJ_FM_SCROLLBAR:
- {
- pObjFactory->pNewObj = new FmFormObj( FM_SUN_COMPONENT_SCROLLBAR, pObjFactory->nIdentifier );
- lcl_initProperty( static_cast< FmFormObj* >( pObjFactory->pNewObj ), FM_PROP_BORDER, makeAny( (sal_Int16)0 ) );
- } break;
+ sServiceSpecifier = FM_SUN_COMPONENT_SCROLLBAR;
+ aInitialProperties.push_back( PropertyValueArray::value_type( FM_PROP_BORDER, makeAny( (sal_Int16)0 ) ) );
+ break;
+
case OBJ_FM_SPINBUTTON:
- {
- pObjFactory->pNewObj = new FmFormObj( FM_SUN_COMPONENT_SPINBUTTON, pObjFactory->nIdentifier );
- lcl_initProperty( static_cast< FmFormObj* >( pObjFactory->pNewObj ), FM_PROP_BORDER, makeAny( (sal_Int16)0 ) );
- } break;
- default:
- return 0;
+ sServiceSpecifier = FM_SUN_COMPONENT_SPINBUTTON;
+ aInitialProperties.push_back( PropertyValueArray::value_type( FM_PROP_BORDER, makeAny( (sal_Int16)0 ) ) );
+ break;
+ }
+
+ // create the actual object
+ if ( sServiceSpecifier.getLength() )
+ pObjFactory->pNewObj = new FmFormObj( sServiceSpecifier, pObjFactory->nIdentifier );
+ else
+ pObjFactory->pNewObj = new FmFormObj( pObjFactory->nIdentifier );
+
+ // initialize some properties which we want to differ from the defaults
+ for ( PropertyValueArray::const_iterator aInitProp = aInitialProperties.begin();
+ aInitProp != aInitialProperties.end();
+ ++aInitProp
+ )
+ {
+ lcl_initProperty(
+ static_cast< FmFormObj* >( pObjFactory->pNewObj ),
+ aInitProp->first,
+ aInitProp->second
+ );
}
}