-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclsRibbonState.cls
More file actions
100 lines (85 loc) · 2.58 KB
/
Copy pathclsRibbonState.cls
File metadata and controls
100 lines (85 loc) · 2.58 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "clsRibbonState"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
'@Description: Estado lógico del Ribbon
'@Category: State
'@Folder "2-Servicios.Excel.Ribbon"
Option Explicit
Public Event StateChanged()
Private mModoRibbon As eRibbonMode
Private mVisible As Boolean
Public Property Get Modo() As eRibbonMode
Modo = mModoRibbon
End Property
Public Property Let Modo(Value As eRibbonMode)
If mModoRibbon = Ribbon_Undefined Then
' se considera una INICIALIZACION, no un cambio de estado
mModoRibbon = Value
ElseIf mModoRibbon <> Value Then
mModoRibbon = Value
RaiseEvent StateChanged
End If
End Property
Public Sub ToggleModo()
Select Case mModoRibbon
Case Ribbon_Admin
mModoRibbon = Ribbon_Hidden
Case Ribbon_Hidden
mModoRibbon = Ribbon_User
Case Ribbon_User
mModoRibbon = Ribbon_OpportunityOnly
Case Ribbon_OpportunityOnly
mModoRibbon = Ribbon_Admin
Case Else
mModoRibbon = Ribbon_OpportunityOnly
End Select
RaiseEvent StateChanged
End Sub
Public Function RibbonStateDescription() As String
Select Case mModoRibbon
Case Ribbon_Admin
RibbonStateDescription = "Admin"
Case Ribbon_Hidden
RibbonStateDescription = "(oculto)"
Case Ribbon_OpportunityOnly
RibbonStateDescription = "Fich. oportunidad"
Case Ribbon_User
RibbonStateDescription = "User"
Case Else
RibbonStateDescription = "Fich. oportunidad"
End Select
End Function
Public Property Get Visible() As Boolean
Visible = mVisible
End Property
Public Property Let Visible(Value As Boolean)
If mVisible <> Value Then
mVisible = Value
RaiseEvent StateChanged
End If
End Property
'@Description: Indica si la pestaña principal del Ribbon debe ser visible
'@Scope: público (consultado por callbacks)
'@Returns: Boolean
'@Category: UI / Estado
Public Function IsRibbonTabVisible() As Boolean
Select Case mModoRibbon
Case Ribbon_Admin
IsRibbonTabVisible = True
Case Ribbon_User
IsRibbonTabVisible = True
Case Ribbon_OpportunityOnly
IsRibbonTabVisible = EsFicheroOportunidad()
Case Else
IsRibbonTabVisible = False
End Select
End Function
Public Function IsAdminGroupVisible() As Boolean
IsAdminGroupVisible = (mModoRibbon = Ribbon_Admin)
End Function