Imports System
Imports System.ComponentModel

Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering

Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Imports System.Drawing
Imports DevExpress.ExpressApp.Utils

<DefaultClassOptions(), NavigationItem(False), CreatableItem(False), DeferredDeletion(False)> _
Public Class ModelNavigation
    Inherits HCategory

    Public Sub New(ByVal session As Session)
        MyBase.New(session)
        ' This constructor is used when an object is loaded from a persistent storage.
        ' Do not place any code here or place it only when the IsLoading property is false:
        ' if (!IsLoading){
        '   It is now OK to place your initialization code here.
        ' }
        ' or as an alternative, move your initialization code into the AfterConstruction method.
    End Sub
    Public Overrides Sub AfterConstruction()
        MyBase.AfterConstruction()
        ' Place here your initialization code.
    End Sub

    <Browsable(False)> Property MasterKey As Guid
    Property Navigation_Caption As String
    <Browsable(False)> Property Navigation_ImageName As String
    Property Navigation_Enabled As Boolean = True
    <Browsable(False)> Property Index As Long
    <VisibleInDetailView(False)> _
    ReadOnly Property Image1 As Image
        Get
            Return ImageLoader.Instance.GetImageInfo(Navigation_ImageName).Image
        End Get
    End Property
    <VisibleInDetailView(False)> _
    ReadOnly Property ImageDeny As Image
        Get
            If Navigation_Enabled Then
                Return ImageLoader.Instance.GetImageInfo("Action_Grant").Image
            Else
                Return ImageLoader.Instance.GetImageInfo("Action_Deny").Image
            End If
        End Get
    End Property
End Class
