diff options
24 files changed, 85 insertions, 12 deletions
diff --git a/basctl/inc/strings.hxx b/basctl/inc/strings.hxx index 506886afc3e3..fe12c7c0125b 100644 --- a/basctl/inc/strings.hxx +++ b/basctl/inc/strings.hxx @@ -36,6 +36,7 @@ #define RID_STR_CLASS_TREECONTROL "TreeControl" #define RID_STR_CLASS_GRIDCONTROL "GridControl" #define RID_STR_CLASS_SPINCONTROL "SpinButton" +#define RID_STR_CLASS_HYPERLINKCONTROL "HyperlinkControl" #endif diff --git a/basctl/sdi/baside.sdi b/basctl/sdi/baside.sdi index 61ecb19cf6df..447e5ad6fd71 100644 --- a/basctl/sdi/baside.sdi +++ b/basctl/sdi/baside.sdi @@ -547,6 +547,12 @@ shell basctl_Shell StateMethod = GetState; ] + SID_INSERT_HYPERLINKCONTROL + [ + ExecMethod = ExecuteDialog; + StateMethod = GetState; + ] + SID_EXPORT_DIALOG [ ExecMethod = ExecuteDialog; diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx index 264bdc202116..ca885f3ca67e 100644 --- a/basctl/source/basicide/baside3.cxx +++ b/basctl/source/basicide/baside3.cxx @@ -357,6 +357,7 @@ void DialogWindow::GetState( SfxItemSet& rSet ) case SID_INSERT_FILECONTROL: case SID_INSERT_SPINBUTTON: case SID_INSERT_GRIDCONTROL: + case SID_INSERT_HYPERLINKCONTROL: case SID_INSERT_TREECONTROL: { if ( IsReadOnly() ) @@ -508,6 +509,9 @@ void DialogWindow::ExecuteCommand( SfxRequest& rReq ) case SID_INSERT_GRIDCONTROL: nInsertObj = OBJ_DLG_GRIDCONTROL; break; + case SID_INSERT_HYPERLINKCONTROL: + nInsertObj = OBJ_DLG_HYPERLINKCONTROL; + break; case SID_INSERT_TREECONTROL: nInsertObj = OBJ_DLG_TREECONTROL; break; diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx index 1ab4d275dcb3..54c750716630 100644 --- a/basctl/source/basicide/basides1.cxx +++ b/basctl/source/basicide/basides1.cxx @@ -898,6 +898,7 @@ void Shell::GetState(SfxItemSet &rSet) case SID_INSERT_FILECONTROL: case SID_INSERT_SPINBUTTON: case SID_INSERT_GRIDCONTROL: + case SID_INSERT_HYPERLINKCONTROL: case SID_INSERT_TREECONTROL: case SID_INSERT_FORM_RADIO: case SID_INSERT_FORM_CHECK: diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index 4fd29d359337..c21aa3039584 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -893,6 +893,7 @@ void Shell::InvalidateControlSlots() pBindings->Invalidate( SID_INSERT_FILECONTROL ); pBindings->Invalidate( SID_INSERT_SPINBUTTON ); pBindings->Invalidate( SID_INSERT_GRIDCONTROL ); + pBindings->Invalidate( SID_INSERT_HYPERLINKCONTROL ); pBindings->Invalidate( SID_INSERT_TREECONTROL ); pBindings->Invalidate( SID_CHOOSE_CONTROLS ); } diff --git a/basctl/source/dlged/dlgedfac.cxx b/basctl/source/dlged/dlgedfac.cxx index b69856c3cf23..ec003586e090 100644 --- a/basctl/source/dlged/dlgedfac.cxx +++ b/basctl/source/dlged/dlgedfac.cxx @@ -219,6 +219,9 @@ IMPL_LINK( DlgEdFactory, MakeObject, SdrObjCreatorParams, aParams, SdrObject* ) case OBJ_DLG_GRIDCONTROL: pNewObj = new DlgEdObj(aParams.rSdrModel, "com.sun.star.awt.grid.UnoControlGridModel", xDialogSFact ); break; + case OBJ_DLG_HYPERLINKCONTROL: + pNewObj = new DlgEdObj(aParams.rSdrModel, "com.sun.star.awt.UnoControlFixedHyperlinkModel", xDialogSFact ); + break; } } diff --git a/basctl/source/dlged/dlgedobj.cxx b/basctl/source/dlged/dlgedobj.cxx index 81eb13a4fa6e..45a642fa116c 100644 --- a/basctl/source/dlged/dlgedobj.cxx +++ b/basctl/source/dlged/dlgedobj.cxx @@ -723,6 +723,10 @@ OUString DlgEdObj::GetDefaultName() const { sResId = RID_STR_CLASS_GRIDCONTROL; } + else if ( supportsService( "com.sun.star.awt.UnoControlFixedHyperlinkModel" ) ) + { + sResId = RID_STR_CLASS_HYPERLINKCONTROL; + } else if ( supportsService( "com.sun.star.awt.UnoControlSpinButtonModel" ) ) { sResId = RID_STR_CLASS_SPINCONTROL; @@ -852,6 +856,10 @@ sal_uInt16 DlgEdObj::GetObjIdentifier() const { return OBJ_DLG_GRIDCONTROL; } + else if ( supportsService( "com.sun.star.awt.UnoControlFixedHyperlinkModel" )) + { + return OBJ_DLG_HYPERLINKCONTROL; + } else { return OBJ_DLG_CONTROL; diff --git a/basctl/source/dlged/propbrw.cxx b/basctl/source/dlged/propbrw.cxx index 1f4a02c82f5c..955b87783d8c 100644 --- a/basctl/source/dlged/propbrw.cxx +++ b/basctl/source/dlged/propbrw.cxx @@ -407,6 +407,10 @@ OUString PropBrw::GetHeadlineName( const Reference< XPropertySet >& _rxObject ) { sResId = RID_STR_CLASS_GRIDCONTROL; } + else if ( xServiceInfo->supportsService( "com.sun.star.awt.UnoControlFixedHyperlinkModel" ) ) + { + sResId = RID_STR_CLASS_HYPERLINKCONTROL; + } else { sResId = RID_STR_CLASS_CONTROL; diff --git a/basctl/source/inc/dlgeddef.hxx b/basctl/source/inc/dlgeddef.hxx index 74e73a894fd0..1aa627abddff 100644 --- a/basctl/source/inc/dlgeddef.hxx +++ b/basctl/source/inc/dlgeddef.hxx @@ -53,14 +53,15 @@ enum OBJ_DLG_TREECONTROL = 24, OBJ_DLG_SPINBUTTON = 25, OBJ_DLG_GRIDCONTROL = 26, + OBJ_DLG_HYPERLINKCONTROL = 27, - OBJ_DLG_FORMRADIO = 27, - OBJ_DLG_FORMCHECK = 28, - OBJ_DLG_FORMLIST = 29, - OBJ_DLG_FORMCOMBO = 30, - OBJ_DLG_FORMSPIN = 31, - OBJ_DLG_FORMVSCROLL = 32, - OBJ_DLG_FORMHSCROLL = 33, + OBJ_DLG_FORMRADIO = 28, + OBJ_DLG_FORMCHECK = 29, + OBJ_DLG_FORMLIST = 30, + OBJ_DLG_FORMCOMBO = 31, + OBJ_DLG_FORMSPIN = 32, + OBJ_DLG_FORMVSCROLL = 33, + OBJ_DLG_FORMHSCROLL = 34, }; diff --git a/basctl/uiconfig/basicide/toolbar/insertcontrolsbar.xml b/basctl/uiconfig/basicide/toolbar/insertcontrolsbar.xml index 9ad39ef9da64..cdd0ae7a0f5b 100644 --- a/basctl/uiconfig/basicide/toolbar/insertcontrolsbar.xml +++ b/basctl/uiconfig/basicide/toolbar/insertcontrolsbar.xml @@ -58,5 +58,6 @@ <toolbar:toolbaritem xlink:href=".uno:InsertTreeControl"/> <toolbar:toolbarbreak/> <toolbar:toolbaritem xlink:href=".uno:InsertGridControl"/> + <toolbar:toolbaritem xlink:href=".uno:InsertHyperlinkControl"/> <toolbar:toolbaritem xlink:href=".uno:SpinButton"/> </toolbar:toolbar> diff --git a/extensions/inc/helpids.h b/extensions/inc/helpids.h index f135ffcd507d..2e5f303b51fb 100644 --- a/extensions/inc/helpids.h +++ b/extensions/inc/helpids.h @@ -246,6 +246,7 @@ #define HID_PROP_XSD_CALCULATION "EXTENSIONS_HID_PROP_XSD_CALCULATION" #define HID_PROP_XSD_DATA_TYPE "EXTENSIONS_HID_PROP_XSD_DATA_TYPE" #define HID_PROP_XSD_WHITESPACES "EXTENSIONS_HID_PROP_XSD_WHITESPACES" +#define HID_PROP_URL "EXTENSIONS_HID_PROP_URL" #define HID_PROP_XSD_PATTERN "EXTENSIONS_HID_PROP_XSD_PATTERN" #define HID_PROP_XSD_LENGTH "EXTENSIONS_HID_PROP_XSD_LENGTH" #define HID_PROP_XSD_MIN_LENGTH "EXTENSIONS_HID_PROP_XSD_MIN_LENGTH" diff --git a/extensions/inc/strings.hrc b/extensions/inc/strings.hrc index 94cb5a4ce24a..c14b676d8e8f 100644 --- a/extensions/inc/strings.hrc +++ b/extensions/inc/strings.hrc @@ -241,6 +241,7 @@ // To translators: That's the 'Bold' as used for a font style, so please use a consistent translation." #define RID_STR_FONTSTYLE_BOLD NC_("RID_STR_FONTSTYLE_BOLD", "Bold") #define RID_STR_FONT_DEFAULT NC_("RID_STR_FONT_DEFAULT", "(Default)") +#define RID_STR_URL NC_("RID_STR_URL", "URL") #define RID_STR_SELECTIONMODEL NC_("RID_STR_SELECTIONMODEL", "Selection Type") #define RID_STR_USEGRIDLINE NC_("RID_STR_USEGRIDLINE", "Use grid line") #define RID_STR_GRIDLINECOLOR NC_("RID_STR_GRIDLINECOLOR", "Grid line color") diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx index b856fe7db6e6..cb1f24166211 100644 --- a/extensions/source/propctrlr/formcomponenthandler.cxx +++ b/extensions/source/propctrlr/formcomponenthandler.cxx @@ -1036,6 +1036,7 @@ namespace pcr break; case PROPERTY_ID_LABEL: + case PROPERTY_ID_URL: nControlType = PropertyControlType::MultiLineTextField; break; diff --git a/extensions/source/propctrlr/formmetadata.cxx b/extensions/source/propctrlr/formmetadata.cxx index 4b727c29083b..caa4e89662af 100644 --- a/extensions/source/propctrlr/formmetadata.cxx +++ b/extensions/source/propctrlr/formmetadata.cxx @@ -349,7 +349,8 @@ namespace pcr DEF_INFO_2( ACTIVESELECTIONBACKGROUNDCOLOR, ACTIVESELECTIONBACKGROUNDCOLOR, 210, ACTIVESELECTIONBACKGROUNDCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), DEF_INFO_2( ACTIVESELECTIONTEXTCOLOR, ACTIVESELECTIONTEXTCOLOR, 211, ACTIVESELECTIONTEXTCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), DEF_INFO_2( INACTIVESELECTIONBACKGROUNDCOLOR, INACTIVESELECTIONBACKGROUNDCOLOR, 212, INACTIVESELECTIONBACKGROUNDCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), - DEF_INFO_2( INACTIVESELECTIONTEXTCOLOR, INACTIVESELECTIONTEXTCOLOR, 213, INACTIVESELECTIONTEXTCOLOR, DIALOG_VISIBLE, COMPOSEABLE ) + DEF_INFO_2( INACTIVESELECTIONTEXTCOLOR, INACTIVESELECTIONTEXTCOLOR, 213, INACTIVESELECTIONTEXTCOLOR, DIALOG_VISIBLE, COMPOSEABLE ), + DEF_INFO_2( URL, URL, 214, URL, DIALOG_VISIBLE, COMPOSEABLE ) }; s_pPropertyInfos = aPropertyInfos; diff --git a/extensions/source/propctrlr/formmetadata.hxx b/extensions/source/propctrlr/formmetadata.hxx index feba2f780639..425ed052fec3 100644 --- a/extensions/source/propctrlr/formmetadata.hxx +++ b/extensions/source/propctrlr/formmetadata.hxx @@ -337,6 +337,7 @@ namespace pcr #define PROPERTY_ID_ACTIVESELECTIONTEXTCOLOR 216 #define PROPERTY_ID_INACTIVESELECTIONBACKGROUNDCOLOR 217 #define PROPERTY_ID_INACTIVESELECTIONTEXTCOLOR 218 + #define PROPERTY_ID_URL 219 } // namespace pcr diff --git a/extensions/source/propctrlr/formstrings.hxx b/extensions/source/propctrlr/formstrings.hxx index 341cc2d5c8cf..7a2b36d91426 100644 --- a/extensions/source/propctrlr/formstrings.hxx +++ b/extensions/source/propctrlr/formstrings.hxx @@ -199,6 +199,7 @@ namespace pcr #define PROPERTY_LINEEND_FORMAT "LineEndFormat" #define PROPERTY_DECORATION "Decoration" #define PROPERTY_NOLABEL "NoLabel" + #define PROPERTY_URL "URL" #define PROPERTY_SELECTION_TYPE "SelectionType" #define PROPERTY_ROOT_DISPLAYED "RootDisplayed" diff --git a/include/svx/svxcommands.h b/include/svx/svxcommands.h index 6c8fedb8f43b..4e5453ffa6fd 100644 --- a/include/svx/svxcommands.h +++ b/include/svx/svxcommands.h @@ -131,6 +131,7 @@ #define CMD_SID_TABLE_INSERT_ROW_DLG ".uno:InsertRowDialog" #define CMD_SID_GALLERY_BG_BRUSH ".uno:BackgroundImage" #define CMD_SID_INSERT_GRIDCONTROL ".uno:InsertGridControl" +#define CMD_SID_INSERT_HYPERLINKCONTROL ".uno:InsertHyperlinkControl" #endif diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc index 6ecb3d77d2f6..78bedb98a75e 100644 --- a/include/svx/svxids.hrc +++ b/include/svx/svxids.hrc @@ -820,7 +820,7 @@ class SfxStringItem; #define SID_FLAG_TYPE ( SID_SVX_START + 1034 ) #define SID_SWMODE_TYPE ( SID_SVX_START + 1035 ) #define SID_DISABLE_CTL ( SID_SVX_START + 1036 ) -//FREE +#define SID_INSERT_HYPERLINKCONTROL ( SID_SVX_START + 1037 ) #define SID_ENUM_PAGE_MODE ( SID_SVX_START + 1038 ) #define SID_PAPER_START ( SID_SVX_START + 1039 ) #define SID_PAPER_END ( SID_SVX_START + 1040 ) diff --git a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu index 61d326f600eb..7c156219d31f 100644 --- a/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu +++ b/officecfg/registry/data/org/openoffice/Office/UI/GenericCommands.xcu @@ -3099,6 +3099,14 @@ <value>1</value> </prop> </node> + <node oor:name=".uno:InsertHyperlinkControl" oor:op="replace"> + <prop oor:name="Label" oor:type="xs:string"> + <value xml:lang="en-US">Hyperlink Control</value> + </prop> + <prop oor:name="Properties" oor:type="xs:int"> + <value>1</value> + </prop> + </node> <node oor:name=".uno:ShowPropBrowser" oor:op="replace"> <prop oor:name="Label" oor:type="xs:string"> <value xml:lang="en-US">Properties</value> diff --git a/svx/sdi/svx.sdi b/svx/sdi/svx.sdi index 8f2bed9dff15..c21c376b2db6 100644 --- a/svx/sdi/svx.sdi +++ b/svx/sdi/svx.sdi @@ -2572,7 +2572,24 @@ SfxBoolItem InsertTreeControl SID_INSERT_TREECONTROL GroupId = SfxGroupId::Controls; ] +SfxBoolItem InsertHyperlinkControl SID_INSERT_HYPERLINKCONTROL +() +[ + /* flags: */ + AutoUpdate = TRUE, + FastCall = FALSE, + ReadOnlyDoc = FALSE, + Toggle = FALSE, + Container = FALSE, + RecordAbsolute = FALSE, + RecordPerSet; + /* config: */ + AccelConfig = TRUE, + MenuConfig = TRUE, + ToolBoxConfig = TRUE, + GroupId = SfxGroupId::Controls; +] XFillBitmapItem FillBitmap SID_ATTR_FILL_BITMAP diff --git a/toolkit/source/controls/controlmodelcontainerbase.cxx b/toolkit/source/controls/controlmodelcontainerbase.cxx index 324d456e37b0..a7721a72146a 100644 --- a/toolkit/source/controls/controlmodelcontainerbase.cxx +++ b/toolkit/source/controls/controlmodelcontainerbase.cxx @@ -424,6 +424,7 @@ Sequence< OUString > ControlModelContainerBase::getAvailableServiceNames() "com.sun.star.awt.UnoControlRoadmapModel", "com.sun.star.awt.tree.TreeControlModel", "com.sun.star.awt.grid.UnoControlGridModel", + "com.sun.star.awt.UnoControlFixedHyperlinkModel", "com.sun.star.awt.tab.UnoControlTabPageContainerModel", "com.sun.star.awt.tab.UnoControlTabPageModel", "com.sun.star.awt.UnoMultiPageModel", diff --git a/xmlscript/dtd/dialog.dtd b/xmlscript/dtd/dialog.dtd index 364517311405..1b7e6355631f 100644 --- a/xmlscript/dtd/dialog.dtd +++ b/xmlscript/dtd/dialog.dtd @@ -60,7 +60,8 @@ dlg:fixedline| dlg:progressmeter| dlg:scrollbar| - dlg:table + dlg:table| + dlg:linklabel )"> <!ELEMENT dlg:window (dlg:styles*, (%event;)*, dlg:bulletinboard*)> @@ -223,6 +224,17 @@ dlg:tabstop %boolean; #IMPLIED > + +<!ELEMENT dlg:linklabel ((%event;)*)> +<!ATTLIST dlg:linklabel %default-attributes; + dlg:value CDATA #IMPLIED + dlg:url CDATA #IMPLIED + dlg:align (left|center|right) #IMPLIED + dlg:valign (top|center|bottom) #IMPLIED + dlg:multiline %boolean; #IMPLIED + dlg:tabstop %boolean; #IMPLIED + > + <!ELEMENT dlg:textfield ((%event;)*)> <!ATTLIST dlg:textfield %default-attributes; dlg:tabstop %boolean; #IMPLIED diff --git a/xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx b/xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx index e86038147a7f..48acefb63f14 100644 --- a/xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx +++ b/xmlscript/source/xmldlg_imexp/xmldlg_expmodels.cxx @@ -524,7 +524,6 @@ void ElementDescriptor::readFixedHyperLinkModel( StyleBag * all_styles ) readDefaults(); readStringAttr( "Label",XMLNS_DIALOGS_PREFIX ":value" ); readStringAttr( "URL", XMLNS_DIALOGS_PREFIX ":url" ); - readStringAttr( "Description", XMLNS_DIALOGS_PREFIX ":description" ); readAlignAttr( "Align", XMLNS_DIALOGS_PREFIX ":align" ); readVerticalAlignAttr( "VerticalAlign", XMLNS_DIALOGS_PREFIX ":valign" ); readBoolAttr( "MultiLine", XMLNS_DIALOGS_PREFIX ":multiline" ); diff --git a/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx b/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx index 0a2a2f45b992..15463246a601 100644 --- a/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx +++ b/xmlscript/source/xmldlg_imexp/xmldlg_impmodels.cxx @@ -982,7 +982,6 @@ void FixedHyperLinkElement::endElement() ctx.importDefaults( _nBasePosX, _nBasePosY, _xAttributes ); ctx.importStringProperty( "Label", "value", _xAttributes ); ctx.importStringProperty( "URL", "url", _xAttributes ); - ctx.importStringProperty( "Description", "description", _xAttributes ); ctx.importAlignProperty( "Align", "align" ,_xAttributes ); ctx.importVerticalAlignProperty( "VerticalAlign", "valign", _xAttributes ); |