Сортировка компонентов в браузере сборки по типу компонентов

Автор Тема: Сортировка компонентов в браузере сборки по типу компонентов  (Прочитано 6260 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн niksasaАвтор темы

  • ADN Club
  • **
  • Сообщений: 91
  • Карма: 0
  • Skype: niksasa1979
Добрый день. Возможна ли сортировка компонентов в браузере по типу компонентов с помощью API. Альфа-сортировка не совсем подходит.

Отмечено как Решение Александр Ривилис 06-02-2019, 20:57:13

Оффлайн Владимир Ананьев

  • ADN DevHelp
  • *
  • Сообщений: 148
  • Карма: 8
А если разложить компоненты по специально созданным папкам? 
Кое-какой API для этого имеется.  В хелпе есть вот такой пример:
Public Sub AddOccurrencesToFolder()
    Dim oDoc As AssemblyDocument
    Set oDoc = ThisApplication.ActiveDocument

    Dim oDef As AssemblyComponentDefinition
    Set oDef = oDoc.ComponentDefinition

    Dim oPane As BrowserPane
    Set oPane = oDoc.BrowserPanes.ActivePane

    Dim oOccurrenceNodes As ObjectCollection
    Set oOccurrenceNodes = ThisApplication.TransientObjects.CreateObjectCollection

    Dim oOcc As ComponentOccurrence
    For Each oOcc In oDef.Occurrences

        Dim oNode As BrowserNode
        Set oNode = oPane.GetBrowserNodeFromObject(oOcc)

        oOccurrenceNodes.Add oNode
    Next

    Dim oFolder As BrowserFolder
    Set oFolder = oPane.AddBrowserFolder("My Occurrence Folder", oOccurrenceNodes)
End Sub
Кроме того, можно и сортировать браузер. 
Есть метод BrowserPane.Reorder. 
BrowserPane.Reorder( TargetNode As BrowserNode, Before As Boolean, StartNode As BrowserNode, [EndNode] As Variant )Ведь если отладить своп для пары соседних узлов,
то можно реализовать сортировку любым доступным методом. 

Оффлайн Алексей Романов

  • ADN Club
  • **
  • Сообщений: 87
  • Карма: 20
Если честно, пока не понимаю причин для сортировки элементов в браузере, просто использую папки...