REM ***** BASIC ***** Dim oControlModel Dim oDialogModel Dim CurrentItem Dim bLongString Dim oControl Dim oEvent Dim oUseDialog As Object Dim oModulName As Object Sub RoadMapMain(ModulNameforItemChange, dialogtoUse) GlobalScope.BasicLibraries.LoadLibrary("Tools") oUseDialog = dialogtoUse oModulName = ModulNameforItemChange oDialogModel = oUseDialog.Model oControlModel = oUseDialog.Model.CreateInstance("com.sun.star.awt.UnoControlRoadmapModel") oDialogModel.insertByName("RoadMap", oControlModel) oControl = oUseDialog.getControl("RoadMap") oEvent = createUnoListener( "CallBack_", "com.sun.star.awt.XItemListener" ) oControl.addItemListener(oEvent) oControlModel.CurrentItemID = 0 oControlModel.Complete = True oControlModel.Activated = True End Sub Sub SetVisibleRoadMap(param) oControl.SetVisible(param) End Sub Sub SetDialogModelSize(Width, Height) oDialogModel.Width = Width oDialogModel.Height = Height End Sub Sub SetControlModelPosSize(X, Y, Width, Height) oControlModel.PositionX = X oControlModel.PositionY = Y oControlModel.Width = Width oControlModel.Height = Height End Sub Sub SetControlModelText( ModelText As String) oControlModel.Text = ModelText End Sub Sub InsertItemsLabels( ItemLabelsArray() As String) For i = 0 To Ubound(ItemLabelsArray()) oRoadmapItem = oControlModel.createInstance() oRoadmapItem.Label = ItemLabelsArray(i) oRoadmapItem.ID = i oControlModel.insertbyIndex(i, oRoadmapItem) Next i End Sub Sub SetItemEnabled( ItemIndex, param) oControlModel.getByIndex(ItemIndex).Enabled = param oControlModel.CurrentItemID = ItemIndex End Sub Sub AddImagetoControlModel( Url As String) oControlModel.ImageUrl = ConvertToUrl(Url) End Sub Function GetSelectedIndex() GetSelectedIndex() = oControlModel.CurrentItemID End Function Function GetControlModel() GetControlModel = oControlModel End Function Function GetDialogModel() GetDialogModel = oDialogModel End Function Sub Callback_itemStateChanged(aEvent) oModulName.ItemChange(oControlModel.CurrentItemID, aEvent.itemID) End Sub Sub SetComplete(param) oControlModel.Complete = param End Sub Sub SetActivated(param) oControlModel.Activated = param End Sub Sub RemoveItem(ItemIndex) If ItemIndex > -1 Then oControlModel.removeByIndex(ItemIndex) End If End Sub Sub InsertItem(ItemLabel As String) oRoadmapItem = oControlModel.createInstance() oRoadmapItem.Label = ItemLabel oControlModel.insertbyIndex(oControlModel.CurrentItemID, oRoadmapItem) End Sub Sub ReplaceItem(ItemLabel As String) oRoadmapItem = oControlModel.createInstance() oRoadmapItem.Label = ItemLabel oControlModel.replacebyIndex(oControlModel.CurrentItemID, oRoadmapItem) End Sub Sub Callback_disposing(aEvent) End Sub Sub Property_propertyChange(aEvent) End Sub Sub Property_disposing(aEvent) End Sub