Hi Xiaodong,
I am attemping to create the add links to object programatically using either vbscript or javascript for usage in the Integrated ActiveX control embedded in a HTML page. I have debugged the code and it runs through to the end but the featured selection in my model is not updated with a manual link I have created. Can you point out where I am going wrong. Both code samples are provided below: I believe the area it is falling down relates to the actual state.SetOverrideURL call using InwOpSelection paramter. I cannot recreate the ModelItemCollection in VBScript or Javascript so have tried a number of approaches to pass CurrentSelection.SelectedItems
VBSCRIPT
public sub addURL()
Dim state
Set state = NWControl01.state
Dim oMyURLOoverride Set oMyURLOoverride = state.ObjectFactory(state.GetEnum ("eObjectType_nwURLOverride"))
// Dim coordinate = "10, 10, 0, 20, 20, 0, 30, 30, 0"
Dim coordinate coordinate = "1"
Dim oMyURL
Set oMyURL = state.ObjectFactory(state.GetEnum("eObjectType_nwURL"))
oMyURL.name = "MyURL444"
oMyURL.URL = "http://www.google.co.uk"
oMyURL.SetCategory "Hyperlink","LcOaURLCategoryHyperlink"
oMyURL.SetCategory "Label", "LcOaURLCategoryTag"
Dim oNewP
Set oNewP = state.ObjectFactory(state.GetEnum("eObjectType_nwLPos3f"))
oNewP.data1 = "10"
oNewP.data2 = "10"
oNewP.data3 = "0"
oMyURL.AttachmentPoints().Add(oNewP)
Dim oURLColl
Set oURLColl = oMyURLOoverride.URLs oURLColl.Add(oMyURL)
//convert to InwOpSelection of COM API
Dim comSelectionOut
Set comSelectionOut = state.CurrentSelection
state.SetOverrideURL comSelectionOut, oMyURLOoverride
state.URLsEnabled = true
state.ZoomInCurViewOnCurSel
end sub
-->
JAVASCRIPT:
function addURL() {
var state = NWControl01.state;
var oMyURLOoverride = state.ObjectFactory( state.GetEnum( "eObjectType_nwURLOverride"),null, null);
var coordinate = "10, 10, 0, 20, 20, 0, 30, 30, 0 ";
var oMyURL = state.ObjectFactory(state.GetEnum("eObjectType_nwURL"), null, null);
oMyURL.name = "MyURL444";
oMyURL.URL = "http://www.google.co.uk";
oMyURL.SetCategory("Hyperlink", "LcOaURLCategoryHyperlink");
oMyURL.SetCategory("Label", "LcOaURLCategoryTag");
var oNewP = state.ObjectFactory(state.GetEnum("eObjectType_nwLPos3f"), null, null);
oNewP.data1 = "10";
oNewP.data2 = "10";
oNewP.data3 = "0";
oMyURL.AttachmentPoints().Add(oNewP);
var oURLColl = oMyURLOoverride.URLs(); oURLColl.Add(oMyURL);
//convert to InwOpSelection of COM API
var comSelectionOut = state.ObjectFactory(state.GetEnum("eObjectType_nwOpSelection"));
// state.CurrentSelection.SelectedItems;
state.SetOverrideURL(comSelectionOut, oMyURLOoverride);
state.URLsEnabled = true;
state.ZoomInCurViewOnCurSel();
}
Best Regards