Mini Kabibi Habibi

Current Path : C:/Program Files (x86)/DevExpress/DXperience 13.1/Sources/FrameTemplates/VB/
Upload File :
Current File : C:/Program Files (x86)/DevExpress/DXperience 13.1/Sources/FrameTemplates/VB/NestedFrameTemplate.vb

Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Drawing
Imports System.Windows.Forms
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Model
Imports DevExpress.ExpressApp.Templates
Imports DevExpress.ExpressApp.Win.Controls
Imports DevExpress.ExpressApp.Win.SystemModule
Imports DevExpress.Utils.Controls
Imports DevExpress.XtraBars

Imports DevExpress.ExpressApp.Win.Templates
<ToolboxItem(False)> _
Partial Public Class NestedFrameTemplate
    Inherits UserControl
    Implements IFrameTemplate, ISupportActionsToolbarVisibility, IViewSiteTemplate, ISupportUpdate, IBarManagerHolder, ISupportStoreSettings, ISupportViewChanged, IXtraResizableControl
    Private Const FrameTemplatesNestedFrameTemplate As String = "FrameTemplates\NestedFrameTemplate"
    Public Const ListViewStateNodeName As String = "ListViewState"
    Public Const MenuBarsCustomizationNodeName As String = "XtraBarsCustomization"
    Private view As DevExpress.ExpressApp.View
    Private modelTemplate As IModelTemplateWin
    Private prevMinSize As Size = Size.Empty
    Private minSize_Renamed As Size
    Private localizationHelper As TemplatesHelper
    Private Sub view_ControlsCreated(ByVal sender As Object, ByVal e As EventArgs)
        RemoveHandler (CType(sender, DevExpress.ExpressApp.View)).ControlsCreated, AddressOf view_ControlsCreated
        Me.BeginInvoke(New MethodInvoker(AddressOf RaiseXtraResizableControlChanged))
    End Sub
    Protected Sub RaiseXtraResizableControlChanged()
        RaiseEvent Changed(Me, EventArgs.Empty)
    End Sub
    Protected Overridable Sub OnBarMangerChanged()
        RaiseEvent BarManagerChanged(Me, EventArgs.Empty)
    End Sub
    Public Sub New()
        InitializeComponent()
        barManager_Renamed.ProcessShortcutsWhenInvisible = False 'B190422
        ' B35864, B36128
        SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
        SetStyle(ControlStyles.AllPaintingInWmPaint, True)
        ' B37974
        'SetStyle(ControlStyles.SupportsTransparentBackColor, false);
    End Sub
    Public ReadOnly Property ToolBar() As Bar
        Get
            Return standardToolBar
        End Get
    End Property
#Region "IFrameTemplate Members"
    Public Function GetContainers() As ICollection(Of IActionContainer) Implements IFrameTemplate.GetContainers
        Return actionContainersManager.GetContainers()
    End Function
    Public Sub SetView(ByVal view As DevExpress.ExpressApp.View) Implements IFrameTemplate.SetView
        viewSiteManager.SetView(view)
        Me.view = view
        If view IsNot Nothing Then
            If view.IsControlCreated Then
                Me.BeginInvoke(New MethodInvoker(AddressOf RaiseXtraResizableControlChanged))
            Else
                AddHandler view.ControlsCreated, AddressOf view_ControlsCreated
            End If
            Tag = view.Caption
        End If
        RaiseEvent ViewChanged(Me, New TemplateViewChangedEventArgs(view))
    End Sub
    Public ReadOnly Property DefaultContainer() As IActionContainer Implements IFrameTemplate.DefaultContainer
        Get
            Return actionContainersManager.DefaultContainer
        End Get
    End Property
    Public Overridable Sub SetStatus(ByVal messages() As String)
    End Sub
#End Region
#Region "ISupportStoreSettings"
    Private Sub OnSettingsReloaded()
        If SettingsReloadedEvent IsNot Nothing Then
            RaiseEvent SettingsReloaded(Me, EventArgs.Empty)
        End If
    End Sub
    Protected Overridable Sub ReloadSettingsCore()
        modelSynchronizationManager.ApplyModel()
    End Sub
    Public Overridable Sub SetSettings(ByVal modelTemplate As IModelTemplate) Implements ISupportStoreSettings.SetSettings
        Me.modelTemplate = CType(modelTemplate, IModelTemplateWin)
        localizationHelper = New TemplatesHelper(Me.modelTemplate)
        barManager_Renamed.Model = localizationHelper.GetBarsCustomizationNode(If(view Is Nothing, "", view.Id))
    End Sub
    Public Sub ReloadSettings() Implements ISupportStoreSettings.ReloadSettings
        ReloadSettingsCore()
        OnSettingsReloaded()
    End Sub
    Public Overridable Sub SaveSettings() Implements ISupportStoreSettings.SaveSettings
        modelSynchronizationManager.SynchronizeModel()
    End Sub
    Public Event SettingsReloaded As EventHandler Implements ISupportStoreSettings.SettingsReloaded
#End Region
#Region "ISupportUpdate Members"
    Private Sub BeginUpdate() Implements ISupportUpdate.BeginUpdate
        barManager_Renamed.BeginUpdate()
    End Sub
    Private Sub EndUpdate() Implements ISupportUpdate.EndUpdate
        barManager_Renamed.EndUpdate()
    End Sub
#End Region
#Region "IBarManagerHolder Members"
    Public ReadOnly Property BarManager() As BarManager Implements IBarManagerHolder.BarManager
        Get
            Return barManager_Renamed
        End Get
    End Property
#End Region
#Region "IXtraResizableControl"
    Public ReadOnly Property IsCaptionVisible() As Boolean Implements IXtraResizableControl.IsCaptionVisible
        Get
            Return False
        End Get
    End Property
    Public ReadOnly Property MinSize() As Size Implements IXtraResizableControl.MinSize
        Get
            If (view IsNot Nothing) AndAlso view.IsControlCreated Then
                Dim viewControlMinimumSize As Size = (CType(view.Control, Control)).MinimumSize
                Dim xafLayoutControl As DevExpress.ExpressApp.Win.Layout.XafLayoutControl = TryCast(view.Control, DevExpress.ExpressApp.Win.Layout.XafLayoutControl)
                If xafLayoutControl IsNot Nothing Then
                    viewControlMinimumSize = xafLayoutControl.MinSize
                End If
                Dim borderSize As New Size(viewSitePanel.Bounds.Width - viewSitePanel.DisplayRectangle.Width, viewSitePanel.Bounds.Height - viewSitePanel.DisplayRectangle.Height)
                Dim newMinSize As New Size(barDockControlLeft.Width + viewControlMinimumSize.Width + barDockControlRight.Width + borderSize.Width, barDockControlTop.Height + viewControlMinimumSize.Height + barDockControlBottom.Height + borderSize.Height)
                If newMinSize <> prevMinSize Then
                    prevMinSize = newMinSize
                    ' Q254008
                    RaiseXtraResizableControlChanged()
                End If
                Return newMinSize
            End If
            Return minSize_Renamed
        End Get
    End Property
    Public ReadOnly Property MaxSize() As Size Implements IXtraResizableControl.MaxSize
        Get
            Return New Size(0, 0)
        End Get
    End Property
    Public Event Changed As EventHandler Implements IXtraResizableControl.Changed
    Public Event BarManagerChanged As EventHandler Implements IBarManagerHolder.BarManagerChanged
#End Region
#Region "IViewSiteTemplate Members"

    Public ReadOnly Property ViewSiteControl() As Object Implements IViewSiteTemplate.ViewSiteControl
        Get
            Return viewSitePanel
        End Get
    End Property

#End Region

#Region "ISupportViewChanged Members"

    Public Event ViewChanged As EventHandler(Of TemplateViewChangedEventArgs) Implements ISupportViewChanged.ViewChanged

#End Region


#Region "IActionBarVisibilityManager Members"
    Public Sub SetVisible(ByVal isVisible As Boolean) Implements ISupportActionsToolbarVisibility.SetVisible
        For Each bar As Bar In BarManager.Bars
            bar.Visible = isVisible
        Next bar
    End Sub
#End Region
End Class