--- svx/sdi/svxitems.sdi (revision 1352847) +++ svx/sdi/svxitems.sdi (working copy) @@ -80,7 +80,8 @@ SVX_SNAP_FORMATTEDFIELD, SVX_SNAP_PATTERNFIELD, SVX_SNAP_FILECONTROL, - SVX_SNAP_TREECONTROL + SVX_SNAP_TREECONTROL, + SVX_SNAP_GRIDCONTROL } item SvxChooseControlEnum SvxChooseControlItem; --- basctl/source/inc/dlgeddef.hxx (revision 1352847) +++ basctl/source/inc/dlgeddef.hxx (working copy) @@ -57,6 +57,7 @@ #define OBJ_DLG_PATTERNFIELD ((sal_uInt16)22) #define OBJ_DLG_FILECONTROL ((sal_uInt16)23) #define OBJ_DLG_TREECONTROL ((sal_uInt16)24) +#define OBJ_DLG_GRIDCONTROL ((sal_uInt16)25) // control properties #define DLGED_PROP_BACKGROUNDCOLOR ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "BackgroundColor" ) ) --- basctl/source/inc/dlgresid.hrc (revision 1352847) +++ basctl/source/inc/dlgresid.hrc (working copy) @@ -54,6 +54,7 @@ #define RID_STR_TRANSLATION_NOTLOCALIZED ( RID_DLG_START + 21 ) #define RID_STR_TRANSLATION_DEFAULT ( RID_DLG_START + 22 ) #define RID_STR_CLASS_TREECONTROL ( RID_DLG_START + 23 ) +#define RID_STR_CLASS_GRIDCONTROL ( RID_DLG_START + 24 ) // Property Browser Headline Id's ----------------------------------------------------------- #define RID_STR_BRWTITLE_PROPERTIES ( RID_DLG_START + 60 ) --- basctl/source/dlged/dlgedobj.cxx (revision 1352847) +++ basctl/source/dlged/dlgedobj.cxx (working copy) @@ -795,6 +795,10 @@ { nResId = RID_STR_CLASS_TREECONTROL; } + else if ( supportsService( "com.sun.star.awt.grid.UnoControlGridModel" ) ) + { + nResId = RID_STR_CLASS_GRIDCONTROL; + } else { @@ -925,6 +929,10 @@ { return OBJ_DLG_TREECONTROL; } + else if ( supportsService( "com.sun.star.awt.grid.UnoControlGridModel" )) + { + return OBJ_DLG_GRIDCONTROL; + } else { return OBJ_DLG_CONTROL; --- basctl/source/dlged/dlgresid.src (revision 1352847) +++ basctl/source/dlged/dlgresid.src (working copy) @@ -113,8 +113,11 @@ { Text = "TreeControl" ; }; +String RID_STR_CLASS_GRIDCONTROL +{ + Text = "TableControl" ; +}; - // Property Browser Headline ---------------------------------------------------------------- String RID_STR_BRWTITLE_PROPERTIES --- basctl/source/dlged/dlgedfac.cxx (revision 1352847) +++ basctl/source/dlged/dlgedfac.cxx (working copy) @@ -70,7 +70,7 @@ if( (pObjFactory->nInventor == DlgInventor) && (pObjFactory->nIdentifier >= OBJ_DLG_PUSHBUTTON) && - (pObjFactory->nIdentifier <= OBJ_DLG_TREECONTROL) ) + (pObjFactory->nIdentifier <= OBJ_DLG_GRIDCONTROL) ) { switch( pObjFactory->nIdentifier ) { @@ -183,7 +183,10 @@ case OBJ_DLG_FILECONTROL: pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString::createFromAscii("com.sun.star.awt.UnoControlFileControlModel") , xDialogSFact ); break; - case OBJ_DLG_TREECONTROL: + case OBJ_DLG_GRIDCONTROL: + pObjFactory->pNewObj = new DlgEdObj( ::rtl::OUString::createFromAscii("com.sun.star.awt.grid.UnoControlGridModel") , xDialogSFact ); + break; + case OBJ_DLG_TREECONTROL: DlgEdObj* pNew = new DlgEdObj( ::rtl::OUString::createFromAscii("com.sun.star.awt.tree.TreeControlModel") , xDialogSFact ); pObjFactory->pNewObj = pNew; /* --- basctl/source/dlged/propbrw.cxx (revision 1352847) +++ basctl/source/dlged/propbrw.cxx (working copy) @@ -488,6 +488,10 @@ { nResId = RID_STR_CLASS_TREECONTROL; } + else if ( xServiceInfo->supportsService( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.awt.grid.UnoControlGridModel" ) ) ) ) + { + nResId = RID_STR_CLASS_GRIDCONTROL; + } else { nResId = RID_STR_CLASS_CONTROL; --- basctl/source/basicide/idetemp.hxx (revision 1352847) +++ basctl/source/basicide/idetemp.hxx (working copy) @@ -52,7 +52,8 @@ SVX_SNAP_FORMATTEDFIELD, SVX_SNAP_PATTERNFIELD, SVX_SNAP_FILECONTROL, - SVX_SNAP_TREECONTROL + SVX_SNAP_TREECONTROL, + SVX_SNAP_GRIDCONTROL }; #define SvxChooseControlItem SfxAllEnumItem --- basctl/source/basicide/tbxctl.cxx (revision 1352847) +++ basctl/source/basicide/tbxctl.cxx (working copy) @@ -171,6 +171,7 @@ case SVX_SNAP_PATTERNFIELD: nTemp = SID_INSERT_PATTERNFIELD; break; case SVX_SNAP_FILECONTROL: nTemp = SID_INSERT_FILECONTROL; break; case SVX_SNAP_TREECONTROL: nTemp = SID_INSERT_TREECONTROL; break; + case SVX_SNAP_GRIDCONTROL: nTemp = SID_FM_DBGRID; break; } if( nTemp ) { --- basctl/source/basicide/baside3.cxx (revision 1352847) +++ basctl/source/basicide/baside3.cxx (working copy) @@ -391,6 +391,7 @@ case OBJ_DLG_PATTERNFIELD: nObj = SVX_SNAP_PATTERNFIELD; break; case OBJ_DLG_FILECONTROL: nObj = SVX_SNAP_FILECONTROL; break; case OBJ_DLG_TREECONTROL: nObj = SVX_SNAP_TREECONTROL; break; + case OBJ_DLG_GRIDCONTROL: nObj = SVX_SNAP_GRIDCONTROL; break; default: nObj = 0; } #ifdef DBG_UTIL @@ -598,6 +599,12 @@ GetEditor()->SetInsertObj( OBJ_DLG_TREECONTROL ); } break; + case SVX_SNAP_GRIDCONTROL: + { + GetEditor()->SetMode( DLGED_INSERT ); + GetEditor()->SetInsertObj( OBJ_DLG_GRIDCONTROL ); + } + break; case SVX_SNAP_SELECT: { --- basctl/uiconfig/basicide/toolbar/insertcontrolsbar.xml (revision 1352847) +++ basctl/uiconfig/basicide/toolbar/insertcontrolsbar.xml (working copy) @@ -62,4 +62,5 @@ + --- svx/inc/svx/svxids.hrc (revision 1352847) +++ svx/inc/svx/svxids.hrc (working copy) @@ -1257,6 +1257,7 @@ #define SID_TRANSLITERATE_SENTENCE_CASE (SID_SVX_START+1102) #define SID_TRANSLITERATE_TITLE_CASE (SID_SVX_START+1103) #define SID_TRANSLITERATE_TOGGLE_CASE (SID_SVX_START+1104) +#define SID_INSERT_GRIDCONTROL (SID_SVX_START+1105) // IMPORTANT NOTE: adjust SID_SVX_FIRSTFREE, when adding new slot id #define SID_SVX_FIRSTFREE (SID_TRANSLITERATE_TOGGLE_CASE + 1) --- svx/inc/svx/svxcommands.h (revision 1352847) +++ svx/inc/svx/svxcommands.h (working copy) @@ -596,5 +596,6 @@ #define CMD_SID_RECHECK_DOCUMENT ".uno:RecheckDocument" #define CMD_SID_TABLE_INSERT_COL_DLG ".uno:InsertColumnDialog" #define CMD_SID_TABLE_INSERT_ROW_DLG ".uno:InsertRowDialog" +#define CMD_SID_INSERT_GRIDCONTROL ".uno:InsertGridControl" #endif --- svx/sdi/svx.sdi (revision 1352847) +++ svx/sdi/svx.sdi (working copy) @@ -15132,3 +15132,32 @@ GroupId = GID_EXPLORER; ] +//-------------------------------------------------------------------------- + +SfxBoolItem InsertGridControl SID_INSERT_GRIDCONTROL + +[ + /* flags: */ + AutoUpdate = TRUE, + Cachable = Cachable, + FastCall = FALSE, + HasCoreId = FALSE, + HasDialog = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + Synchron; + + Readonly = FALSE, + + /* config: */ + AccelConfig = TRUE, + MenuConfig = TRUE, + StatusBarConfig = FALSE, + ToolBoxConfig = TRUE, + GroupId = GID_CONTROLS; +] + +//-------------------------------------------------------------------------- --- officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu (revision 1352847) +++ officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu (working copy) @@ -3413,6 +3413,14 @@ 1 + + + Table Control + + + 1 + + Video... --- xmlscript/dtd/dialog.dtd (revision 1352847) +++ xmlscript/dtd/dialog.dtd (working copy) @@ -64,7 +64,8 @@ dlg:formattedfield| dlg:fixedline| dlg:progressmeter| - dlg:scrollbar + dlg:scrollbar| + dlg:table )"> @@ -399,3 +400,20 @@ dlg:value-min %numeric; #IMPLIED dlg:value-max %numeric; #IMPLIED > + + + --- extensions/source/propctrlr/formmetadata.hxx (revision 1352847) +++ extensions/source/propctrlr/formmetadata.hxx (working copy) @@ -337,6 +337,17 @@ #define PROPERTY_ID_WHEEL_BEHAVIOR 200 #define PROPERTY_ID_TEXT_ANCHOR_TYPE 201 #define PROPERTY_ID_SHEET_ANCHOR_TYPE 202 + #define PROPERTY_ID_SELECTIONMODEL 203 + #define PROPERTY_ID_USEGRIDLINE 204 + #define PROPERTY_ID_GRIDLINECOLOR 205 + #define PROPERTY_ID_SHOWCOLUMNHEADER 206 + #define PROPERTY_ID_SHOWROWHEADER 207 + #define PROPERTY_ID_HEADERBACKGROUNDCOLOR 208 + #define PROPERTY_ID_HEADERTEXTCOLOR 209 + #define PROPERTY_ID_ACTIVESELECTIONBACKGROUNDCOLOR 210 + #define PROPERTY_ID_ACTIVESELECTIONTEXTCOLOR 211 + #define PROPERTY_ID_INACTIVESELECTIONBACKGROUNDCOLOR 212 + #define PROPERTY_ID_INACTIVESELECTIONTEXTCOLOR 213 //............................................................................ } // namespace pcr --- extensions/source/propctrlr/formstrings.hxx (revision 1352847) +++ extensions/source/propctrlr/formstrings.hxx (working copy) @@ -274,6 +274,18 @@ PCR_CONSTASCII_STRING( PROPERTY_TEXTTYPE, "TextType"); PCR_CONSTASCII_STRING( PROPERTY_RICHTEXT, "RichText"); PCR_CONSTASCII_STRING( PROPERTY_ROWSET, "RowSet"); + + PCR_CONSTASCII_STRING( PROPERTY_SELECTIONMODEL, "SelectionModel"); + PCR_CONSTASCII_STRING( PROPERTY_USEGRIDLINE, "UseGridLines"); + PCR_CONSTASCII_STRING( PROPERTY_GRIDLINECOLOR, "GridLineColor"); + PCR_CONSTASCII_STRING( PROPERTY_SHOWCOLUMNHEADER, "ShowColumnHeader"); + PCR_CONSTASCII_STRING( PROPERTY_SHOWROWHEADER, "ShowRowHeader"); + PCR_CONSTASCII_STRING( PROPERTY_HEADERBACKGROUNDCOLOR, "HeaderBackgroundColor"); + PCR_CONSTASCII_STRING( PROPERTY_HEADERTEXTCOLOR, "HeaderTextColor"); + PCR_CONSTASCII_STRING( PROPERTY_ACTIVESELECTIONBACKGROUNDCOLOR, "ActiveSelectionBackgroundColor"); + PCR_CONSTASCII_STRING( PROPERTY_ACTIVESELECTIONTEXTCOLOR, "ActiveSelectionTextColor"); + PCR_CONSTASCII_STRING( PROPERTY_INACTIVESELECTIONBACKGROUNDCOLOR, "InactiveSelectionBackgroundColor"); + PCR_CONSTASCII_STRING( PROPERTY_INACTIVESELECTIONTEXTCOLOR, "InactiveSelectionTextColor"); // services PCR_CONSTASCII_STRING( SERVICE_COMPONENT_GROUPBOX, "com.sun.star.form.component.GroupBox" ); --- extensions/source/propctrlr/formmetadata.cxx (revision 1352847) +++ extensions/source/propctrlr/formmetadata.cxx (working copy) @@ -354,7 +354,18 @@ DEF_INFO_2( EDITABLE, EDITABLE, EDITABLE, DIALOG_VISIBLE, COMPOSEABLE ), DEF_INFO_2( INVOKES_STOP_NOT_EDITING, INVOKES_STOP_NOT_EDITING, INVOKES_STOP_NOT_EDITING, DIALOG_VISIBLE, COMPOSEABLE ), DEF_INFO_2( DECORATION, DECORATION, DECORATION, DIALOG_VISIBLE, COMPOSEABLE ), - DEF_INFO_2( NOLABEL, NOLABEL, NOLABEL, DIALOG_VISIBLE, COMPOSEABLE ) + DEF_INFO_2( NOLABEL, NOLABEL, NOLABEL, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_3( SELECTIONMODEL, SELECTIONMODEL, SELECTIONMODEL, DIALOG_VISIBLE, ENUM, COMPOSEABLE ), + DEF_INFO_2( USEGRIDLINE, USEGRIDLINE, USEGRIDLINE, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( GRIDLINECOLOR, GRIDLINECOLOR, GRIDLINECOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( SHOWCOLUMNHEADER, SHOWCOLUMNHEADER, SHOWCOLUMNHEADER, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( SHOWROWHEADER, SHOWROWHEADER, SHOWROWHEADER, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( HEADERBACKGROUNDCOLOR, HEADERBACKGROUNDCOLOR, HEADERBACKGROUNDCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( HEADERTEXTCOLOR, HEADERTEXTCOLOR, HEADERTEXTCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( ACTIVESELECTIONBACKGROUNDCOLOR, ACTIVESELECTIONBACKGROUNDCOLOR, ACTIVESELECTIONBACKGROUNDCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( ACTIVESELECTIONTEXTCOLOR, ACTIVESELECTIONTEXTCOLOR, ACTIVESELECTIONTEXTCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( INACTIVESELECTIONBACKGROUNDCOLOR, INACTIVESELECTIONBACKGROUNDCOLOR, INACTIVESELECTIONBACKGROUNDCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( INACTIVESELECTIONTEXTCOLOR, INACTIVESELECTIONTEXTCOLOR, INACTIVESELECTIONTEXTCOLOR, DIALOG_VISIBLE, COMPOSEABLE ) }; s_pPropertyInfos = aPropertyInfos; @@ -498,6 +509,7 @@ nStringItemsResId = RID_RSC_ENUM_WHITESPACE_HANDLING; break; case PROPERTY_ID_SELECTION_TYPE: + case PROPERTY_ID_SELECTIONMODEL: nStringItemsResId = RID_RSC_ENUM_SELECTION_TYPE; break; case PROPERTY_ID_SCALE_MODE: --- extensions/source/propctrlr/formresid.hrc (revision 1352847) +++ extensions/source/propctrlr/formresid.hrc (working copy) @@ -278,8 +278,18 @@ #define RID_STR_FONTSTYLE_ITALIC ( RID_FORMBROWSER_START + 253 ) #define RID_STR_FONTSTYLE_BOLD ( RID_FORMBROWSER_START + 254 ) #define RID_STR_FONT_DEFAULT ( RID_FORMBROWSER_START + 255 ) +#define RID_STR_SELECTIONMODEL ( RID_FORMBROWSER_START + 256 ) +#define RID_STR_USEGRIDLINE ( RID_FORMBROWSER_START + 257 ) +#define RID_STR_GRIDLINECOLOR ( RID_FORMBROWSER_START + 258 ) +#define RID_STR_SHOWCOLUMNHEADER ( RID_FORMBROWSER_START + 259 ) +#define RID_STR_SHOWROWHEADER ( RID_FORMBROWSER_START + 260 ) +#define RID_STR_HEADERBACKGROUNDCOLOR ( RID_FORMBROWSER_START + 261 ) +#define RID_STR_HEADERTEXTCOLOR ( RID_FORMBROWSER_START + 262 ) +#define RID_STR_ACTIVESELECTIONBACKGROUNDCOLOR ( RID_FORMBROWSER_START + 263 ) +#define RID_STR_ACTIVESELECTIONTEXTCOLOR ( RID_FORMBROWSER_START + 264 ) +#define RID_STR_INACTIVESELECTIONBACKGROUNDCOLOR ( RID_FORMBROWSER_START + 265 ) +#define RID_STR_INACTIVESELECTIONTEXTCOLOR ( RID_FORMBROWSER_START + 266 ) - // ----------------------------------------------------------------------- // - message strings --- extensions/source/propctrlr/formres.src (revision 1352847) +++ extensions/source/propctrlr/formres.src (working copy) @@ -455,7 +455,52 @@ { Text [ en-US ] = "Frame" ; }; +String RID_STR_SELECTIONMODEL +{ + Text [ en-US ] = "Selection type"; +}; +String RID_STR_USEGRIDLINE +{ + Text [ en-US ] = "Use grid line"; +}; +String RID_STR_GRIDLINECOLOR +{ + Text [ en-US ] = "Grid line color"; +}; +String RID_STR_SHOWCOLUMNHEADER +{ + Text [ en-US ] = "Show column header"; +}; +String RID_STR_SHOWROWHEADER +{ + Text [ en-US ] = "Show row header"; +}; +String RID_STR_HEADERBACKGROUNDCOLOR +{ + Text [ en-US ] = "Header background color"; +}; +String RID_STR_HEADERTEXTCOLOR +{ + Text [ en-US ] = "Header text color"; +}; +String RID_STR_ACTIVESELECTIONBACKGROUNDCOLOR +{ + Text [ en-US ] = "Active selection background color"; +}; +String RID_STR_ACTIVESELECTIONTEXTCOLOR +{ + Text [ en-US ] = "Active selection text color"; +}; +String RID_STR_INACTIVESELECTIONBACKGROUNDCOLOR +{ + Text [ en-US ] = "Inactive selection background color"; +}; +String RID_STR_INACTIVESELECTIONTEXTCOLOR +{ + Text [ en-US ] = "Inactive selection text color"; +}; + Resource RID_RSC_ENUM_BORDER_TYPE { String 1 --- extensions/inc/propctrlr.hrc (revision 1352847) +++ extensions/inc/propctrlr.hrc (working copy) @@ -324,4 +324,16 @@ #define HID_FM_PROPDLG_TAB_DATA "EXTENSIONS_HID_FM_PROPDLG_TAB_DATA" #define HID_FM_PROPDLG_TAB_EVT "EXTENSIONS_HID_FM_PROPDLG_TAB_EVT" +#define HID_PROP_SELECTIONMODEL "EXTENSIONS_HID_PROP_SELECTIONMODEL" +#define HID_PROP_USEGRIDLINE "EXTENSIONS_HID_PROP_USEGRIDLINE" +#define HID_PROP_GRIDLINECOLOR "EXTENSIONS_HID_PROP_GRIDLINECOLOR" +#define HID_PROP_SHOWCOLUMNHEADER "EXTENSIONS_HID_PROP_SHOWCOLUMNHEADER" +#define HID_PROP_SHOWROWHEADER "EXTENSIONS_HID_PROP_SHOWROWHEADER" +#define HID_PROP_HEADERBACKGROUNDCOLOR "EXTENSIONS_HID_PROP_HEADERBACKGROUNDCOLOR" +#define HID_PROP_HEADERTEXTCOLOR "EXTENSIONS_HID_PROP_HEADERTEXTCOLOR" +#define HID_PROP_ACTIVESELECTIONBACKGROUNDCOLOR "EXTENSIONS_HID_PROP_ACTIVESELECTIONBACKGROUNDCOLOR" +#define HID_PROP_ACTIVESELECTIONTEXTCOLOR "EXTENSIONS_HID_PROP_ACTIVESELECTIONTEXTCOLOR" +#define HID_PROP_INACTIVESELECTIONBACKGROUNDCOLOR "EXTENSIONS_HID_PROP_INACTIVESELECTIONBACKGROUNDCOLOR" +#define HID_PROP_INACTIVESELECTIONTEXTCOLOR "EXTENSIONS_HID_PROP_INACTIVESELECTIONTEXTCOLOR" + #endif // EXTENSIONS_PROPCTRLR_HRC --- extensions/util/hidother.src (revision 1352847) +++ extensions/util/hidother.src (working copy) @@ -421,3 +421,15 @@ hidspecial HID_FM_PROPDLG_TAB_GENERAL { HelpId = HID_FM_PROPDLG_TAB_GENERAL; } hidspecial HID_FM_PROPDLG_TAB_DATA { HelpId = HID_FM_PROPDLG_TAB_DATA; } hidspecial HID_FM_PROPDLG_TAB_EVT { HelpId = HID_FM_PROPDLG_TAB_EVT; } +hidspecial HID_PROP_SELECTIONMODEL { HelpId = HID_PROP_SELECTIONMODEL; } +hidspecial HID_PROP_USEGRIDLINE { HelpId = HID_PROP_USEGRIDLINE; } +hidspecial HID_PROP_GRIDLINECOLOR { HelpId = HID_PROP_GRIDLINECOLOR; } +hidspecial HID_PROP_SHOWCOLUMNHEADER { HelpId = HID_PROP_SHOWCOLUMNHEADER; } +hidspecial HID_PROP_SHOWROWHEADER { HelpId = HID_PROP_SHOWROWHEADER; } +hidspecial HID_PROP_HEADERBACKGROUNDCOLOR { HelpId = HID_PROPS_HEADERBACKGROUNDCOLOR; } +hidspecial HID_PROP_HEADERTEXTCOLOR { HelpId = HEADERTEXTCOLOR; } +hidspecial HID_PROP_ACTIVESELECTIONBACKGROUNDCOLOR { HelpId = ACTIVESELECTIONBACKGROUNDCOLOR; } +hidspecial HID_PROP_ACTIVESELECTIONTEXTCOLOR { HelpId = ACTIVESELECTIONTEXTCOLOR; } +hidspecial HID_PROP_INACTIVESELECTIONBACKGROUNDCOLOR { HelpId = INACTIVESELECTIONBACKGROUNDCOLOR; } +hidspecial HID_PROP_INACTIVESELECTIONTEXTCOLOR { HelpId = INACTIVESELECTIONTEXTCOLOR; } + --- extensions/source/propctrlr/formcomponenthandler.cxx (revision 1352847) +++ extensions/source/propctrlr/formcomponenthandler.cxx (working copy) @@ -1072,6 +1072,13 @@ case PROPERTY_ID_FILLCOLOR: case PROPERTY_ID_SYMBOLCOLOR: case PROPERTY_ID_BORDERCOLOR: + case PROPERTY_ID_GRIDLINECOLOR: + case PROPERTY_ID_HEADERBACKGROUNDCOLOR: + case PROPERTY_ID_HEADERTEXTCOLOR: + case PROPERTY_ID_ACTIVESELECTIONBACKGROUNDCOLOR: + case PROPERTY_ID_ACTIVESELECTIONTEXTCOLOR: + case PROPERTY_ID_INACTIVESELECTIONBACKGROUNDCOLOR: + case PROPERTY_ID_INACTIVESELECTIONTEXTCOLOR: nControlType = PropertyControlType::ColorListBox; switch( nPropId ) @@ -1084,6 +1091,20 @@ aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(UID_PROP_DLG_SYMBOLCOLOR); break; case PROPERTY_ID_BORDERCOLOR: aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(UID_PROP_DLG_BORDERCOLOR); break; + case PROPERTY_ID_GRIDLINECOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_GRIDLINECOLOR); break; + case PROPERTY_ID_HEADERBACKGROUNDCOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_HEADERBACKGROUNDCOLOR); break; + case PROPERTY_ID_HEADERTEXTCOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_HEADERTEXTCOLOR); break; + case PROPERTY_ID_ACTIVESELECTIONBACKGROUNDCOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_ACTIVESELECTIONBACKGROUNDCOLOR); break; + case PROPERTY_ID_ACTIVESELECTIONTEXTCOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_ACTIVESELECTIONTEXTCOLOR); break; + case PROPERTY_ID_INACTIVESELECTIONBACKGROUNDCOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_INACTIVESELECTIONBACKGROUNDCOLOR); break; + case PROPERTY_ID_INACTIVESELECTIONTEXTCOLOR: + aDescriptor.PrimaryButtonId = rtl::OUString::createFromAscii(HID_PROP_INACTIVESELECTIONTEXTCOLOR); break; } break; @@ -1487,6 +1508,13 @@ case PROPERTY_ID_FILLCOLOR: case PROPERTY_ID_SYMBOLCOLOR: case PROPERTY_ID_BORDERCOLOR: + case PROPERTY_ID_GRIDLINECOLOR: + case PROPERTY_ID_HEADERBACKGROUNDCOLOR: + case PROPERTY_ID_HEADERTEXTCOLOR: + case PROPERTY_ID_ACTIVESELECTIONBACKGROUNDCOLOR: + case PROPERTY_ID_ACTIVESELECTIONTEXTCOLOR: + case PROPERTY_ID_INACTIVESELECTIONBACKGROUNDCOLOR: + case PROPERTY_ID_INACTIVESELECTIONTEXTCOLOR: if ( impl_dialogColorChooser_throw( nPropId, _rData, aGuard ) ) eResult = InteractiveSelectionResult_ObtainedValue; break; --- helpcontent2/source/text/sbasic/shared/02/20000000.xhp (revision 1352847) +++ helpcontent2/source/text/sbasic/shared/02/20000000.xhp (working copy) @@ -434,5 +434,18 @@ Adds a tree control that can show a hierarchical list. You can populate the list by your program, using API calls (XtreeControl). + +Table Control + + + + +Table control icon + + + +Adds a table control that can show a table data. You can populate the data by your program, using API calls. + +
--- xmlscript/source/xmldlg_imexp/imp_share.hxx (revision 1352847) +++ xmlscript/source/xmldlg_imexp/imp_share.hxx (working copy) @@ -1013,4 +1013,26 @@ {} }; +//============================================================================== +class GridControlElement + : public ControlElement +{ +public: + virtual css::uno::Reference< css::xml::input::XElement > + SAL_CALL startChildElement( + sal_Int32 nUid, ::rtl::OUString const & rLocalName, + css::uno::Reference const & xAttributes ) + throw (css::xml::sax::SAXException, css::uno::RuntimeException); + virtual void SAL_CALL endElement() + throw (css::xml::sax::SAXException, css::uno::RuntimeException); + + inline GridControlElement( + ::rtl::OUString const & rLocalName, + css::uno::Reference< css::xml::input::XAttributes > const & xAttributes, + ElementBase * pParent, DialogImport * pImport ) + SAL_THROW( () ) + : ControlElement( rLocalName, xAttributes, pParent, pImport ) + {} +}; + } --- xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx (revision 1352847) +++ xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx (working copy) @@ -1980,6 +1980,95 @@ //################################################################################################## +// table +//__________________________________________________________________________________________________ +Reference< xml::input::XElement > GridControlElement::startChildElement( + sal_Int32 nUid, OUString const & rLocalName, + Reference< xml::input::XAttributes > const & xAttributes ) + throw (xml::sax::SAXException, RuntimeException) +{ + // event + if (_pImport->isEventElement( nUid, rLocalName )) + { + return new EventElement( nUid, rLocalName, xAttributes, this, _pImport ); + } + else + { + throw xml::sax::SAXException( + OUString( RTL_CONSTASCII_USTRINGPARAM("expected event element!") ), + Reference< XInterface >(), Any() ); + } +} + +//__________________________________________________________________________________________________ +void GridControlElement::endElement() + throw (xml::sax::SAXException, RuntimeException) +{ + ControlImportContext ctx( + _pImport, getControlId( _xAttributes ), + OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.grid.UnoControlGridModel") ) ); + + Reference< xml::input::XElement > xStyle( getStyle( _xAttributes ) ); + if (xStyle.is()) + { + StyleElement * pStyle = static_cast< StyleElement * >( xStyle.get () ); + Reference< beans::XPropertySet > xControlModel( ctx.getControlModel() ); + pStyle->importBackgroundColorStyle( xControlModel ); + pStyle->importBorderStyle( xControlModel ); + pStyle->importTextColorStyle( xControlModel ); + pStyle->importTextLineColorStyle( xControlModel ); + pStyle->importFontStyle( xControlModel ); + } + + ctx.importDefaults( _nBasePosX, _nBasePosY, _xAttributes ); + ctx.importBooleanProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("Tabstop") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("tabstop") ), + _xAttributes ); + ctx.importVerticalAlignProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("VerticalAlign") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("valign") ), + _xAttributes ); + ctx.importSelectionTypeProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("SelectionModel") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("selectiontype") ), + _xAttributes ); + ctx.importBooleanProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("ShowColumnHeader") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("showcolumnheader") ), + _xAttributes ); + ctx.importBooleanProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("ShowRowHeader") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("showrowheader") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("GridLineColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("gridline-color") ), + _xAttributes ); + ctx.importBooleanProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("UseGridLines") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("usegridlines") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("HeaderBackgroundColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("headerbackground-color") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("HeaderTextColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("headertext-color") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("ActiveSelectionBackgroundColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("activeselectionbackground-color") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("ActiveSelectionTextColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("activeselectiontext-color") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("InactiveSelectionBackgroundColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("inactiveselectionbackground-color") ), + _xAttributes ); + ctx.importHexLongProperty( OUString( RTL_CONSTASCII_USTRINGPARAM("InactiveSelectionTextColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM("inactiveselectiontext-color") ), + _xAttributes ); + + ctx.importEvents( _events ); + // avoid ring-reference: + // vector< event elements > holding event elements holding this (via _pParent) + _events.clear(); +} + +//################################################################################################## + // bulletinboard //__________________________________________________________________________________________________ Reference< xml::input::XElement > BulletinBoardElement::startChildElement( @@ -2097,6 +2186,11 @@ { return new ProgressBarElement( rLocalName, xAttributes, this, _pImport ); } + // table + else if (rLocalName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("table") )) + { + return new GridControlElement( rLocalName, xAttributes, this, _pImport ); + } // bulletinboard else if (rLocalName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("bulletinboard") )) { --- xmlscript/source/xmldlg_imexp/exp_share.hxx (revision 1352847) +++ xmlscript/source/xmldlg_imexp/exp_share.hxx (working copy) @@ -209,6 +209,8 @@ SAL_THROW( (css::uno::Exception) ); void readFixedHyperLinkModel( StyleBag * all_styles ) SAL_THROW( (css::uno::Exception) ); + void readGridControlModel( StyleBag * all_styles ) + SAL_THROW( (css::uno::Exception) ); }; template --- xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx (revision 1352847) +++ xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx (working copy) @@ -1110,6 +1110,59 @@ readEvents(); } //__________________________________________________________________________________________________ +void ElementDescriptor::readGridControlModel( StyleBag * all_styles ) + SAL_THROW( (Exception) ) +{ + // collect styles + Style aStyle( 0x1 | 0x2 | 0x4 | 0x8 | 0x20 ); + if (readProp( OUString( RTL_CONSTASCII_USTRINGPARAM("BackgroundColor") ) ) >>= aStyle._backgroundColor) + aStyle._set |= 0x1; + if (readBorderProps( this, aStyle )) + aStyle._set |= 0x4; + if (readProp( OUString( RTL_CONSTASCII_USTRINGPARAM("TextColor") ) ) >>= aStyle._textColor) + aStyle._set |= 0x2; + if (readProp( OUString( RTL_CONSTASCII_USTRINGPARAM("TextLineColor") ) ) >>= aStyle._textLineColor) + aStyle._set |= 0x20; + if (readFontProps( this, aStyle )) + aStyle._set |= 0x8; + if (aStyle._set) + { + addAttribute( OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":style-id") ), + all_styles->getStyleId( aStyle ) ); + } + + // collect elements + readDefaults(); + + readBoolAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("Tabstop") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":tabstop") ) ); + readVerticalAlignAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("VerticalAlign") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":valign") ) ); + readSelectionTypeAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("SelectionModel") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":selectiontype") ) ); + readBoolAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("ShowColumnHeader") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":showcolumnheader") ) ); + readBoolAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("ShowRowHeader") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":showrowheader") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("GridLineColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":gridline-color") ) ); + readBoolAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("UseGridLines") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":usegridlines") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("HeaderBackgroundColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":headerbackground-color") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("HeaderTextColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":headertext-color") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("ActiveSelectionBackgroundColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":activeselectionbackground-color") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("ActiveSelectionTextColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":activeselectiontext-color") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("InactiveSelectionBackgroundColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":inactiveselectionbackground-color") ) ); + readHexLongAttr( OUString( RTL_CONSTASCII_USTRINGPARAM("InactiveSelectionTextColor") ), + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":inactiveselectiontext-color") ) ); + readEvents(); +} +//__________________________________________________________________________________________________ void ElementDescriptor::readDialogModel( StyleBag * all_styles ) SAL_THROW( (Exception) ) { --- xmlscript/source/xmldlg_imexp/xmldlg_export.cxx (revision 1352847) +++ xmlscript/source/xmldlg_imexp/xmldlg_export.cxx (working copy) @@ -1537,6 +1537,14 @@ xElem = static_cast< xml::sax::XAttributeList * >( pElem ); pElem->readProgressBarModel( &all_styles ); } + else if (xServiceInfo->supportsService( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.awt.grid.UnoControlGridModel") ) ) ) + { + pElem = new ElementDescriptor( + xProps, xPropState, + OUString( RTL_CONSTASCII_USTRINGPARAM(XMLNS_DIALOGS_PREFIX ":table") ) ); + xElem = static_cast< xml::sax::XAttributeList * >( pElem ); + pElem->readGridControlModel( &all_styles ); + } // OSL_ASSERT( xElem.is() );