/
DesignerForm1.vb
60 lines (54 loc) · 2.81 KB
/
DesignerForm1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Imports DevExpress.DashboardCommon
Imports DevExpress.XtraBars.Navigation
Imports DevExpress.DashboardWin.CustomItemExtension
Imports System.IO
Imports System.Linq
Namespace CustomItemTest
Partial Public Class DesignerForm1
Inherits DevExpress.XtraBars.Ribbon.RibbonForm
Private sunburstItemModule As New SunburstItemExtensionModule()
Private funnelItemModule As New FunnelItemExtensionModule()
Private sankeyItemModule As New SankeyItemExtensionModule()
Private waypointMapItemModule As New WaypointMapItemExtensionModule("YOUR BING KEY")
Private hierarchyTreeItemModule As New TreeListItemExtensionModule()
Private ganttItemExtensionModule As New GanttItemExtensionModule()
Private webPageItemExtensionModule As New WebPageItemExtensionModule()
Private heatmapItemModule As New HeatmapItemExtensionModule()
Public Sub New()
Dashboard.CustomItemMetadataTypes.Register(Of SunburstItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of SankeyItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of WaypointMapItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of FunnelItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of TreeListItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of GanttItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of WebPageItemMetadata)()
Dashboard.CustomItemMetadataTypes.Register(Of HeatmapItemMetadata)()
InitializeComponent()
dashboardDesigner.CreateRibbon()
AttachModules()
GenerateAccordionElements()
dashboardsAccordion.SelectedElement = dashboardsAccordion.Elements(2)
dashboardsAccordion.ScrollBarMode = ScrollBarMode.Auto
End Sub
Private Sub AttachModules()
sunburstItemModule.AttachDesigner(dashboardDesigner)
funnelItemModule.AttachDesigner(dashboardDesigner)
sankeyItemModule.AttachDesigner(dashboardDesigner)
waypointMapItemModule.AttachDesigner(dashboardDesigner)
hierarchyTreeItemModule.AttachDesigner(dashboardDesigner)
ganttItemExtensionModule.AttachDesigner(dashboardDesigner)
webPageItemExtensionModule.AttachDesigner(dashboardDesigner)
heatmapItemModule.AttachDesigner(dashboardDesigner)
End Sub
Private Sub GenerateAccordionElements()
For Each dashboardFile As String In Directory.GetFiles("Dashboards", "*.xml", SearchOption.TopDirectoryOnly)
Dim item As AccordionControlElement = dashboardsAccordion.AddItem()
item.Text = dashboardFile.Replace("Dashboards\","").Replace(".xml","")
item.Tag = dashboardFile
Next dashboardFile
End Sub
Private Sub dashboardsAccordion_SelectedElementChanged(ByVal sender As Object, ByVal e As SelectedElementChangedEventArgs) Handles dashboardsAccordion.SelectedElementChanged
dashboardDesigner.LoadDashboard(e.Element.Tag.ToString())
End Sub
End Class
End Namespace