forked from oahrens/Zotero-Tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ZtConfigUserCitation.cls
103 lines (72 loc) · 4.07 KB
/
ZtConfigUserCitation.cls
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
101
102
103
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
END
Attribute VB_Name = "ZtConfigUserCitation"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Option Explicit
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
' Class ZtConfigUserCitation.
' It preserves a part of the user configuration informations and methods to read them from ZtConfig.xml.
'
' Zotero Tools.
' This software is under Revised ('New') BSD license.
' Copyright © 2019, Olaf Ahrens. All rights reserved.
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
' Private variables.
Private pvtPrefix As String
Private pvtPrefixRegPiece As ZtRegPiece
Private pvtSuffix As String
Private pvtSuffixRegPiece As ZtRegPiece
Private pvtLocalizerRegString As String
Private pvtLocalizerRegPiece As ZtRegPiece
Private pvtSuffixIsBeforeLocalizer As Boolean
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
' Friend/Public procedures and properties.
' All members that should be callable by CallByName procedure must be public.
Friend Sub Initialize(ByVal valConfig As ZtConfig, ByVal valXml As MSXML2.DOMDocument60, ByVal valStyleName As String)
Dim locNode As MSXML2.IXMLDOMNode
Set locNode = valXml.SelectSingleNode("/zoteroTools/user/citationStyle[@name='" & valStyleName & "']")
With locNode
pvtPrefix = valConfig.ResolveTextElement(.SelectSingleNode("prefix"))
valConfig.RegPieceFactoryFromString pvtPrefix, _
"ZtConfigXml.zoteroTools.user.citationStyle(" & valStyleName & ").prefix", _
pvtPrefixRegPiece
pvtSuffix = valConfig.ResolveTextElement(.SelectSingleNode("suffix"))
valConfig.RegPieceFactoryFromString pvtSuffix, _
"ZtConfigXml.zoteroTools.user.citationStyle(" & valStyleName & ").suffix", _
pvtSuffixRegPiece
pvtLocalizerRegString = valConfig.ResolveTextElement(.SelectSingleNode("localizerRegString"))
valConfig.RegPieceFactory pvtLocalizerRegString, _
"ZtConfigXml.zoteroTools.user.citationStyle(" & valStyleName & ").localizerRegString", _
pvtLocalizerRegPiece
pvtSuffixIsBeforeLocalizer = CBool(.SelectSingleNode("suffixIsBeforeLocalizer").Text)
End With
End Sub
Friend Property Get Prefix() As String
Prefix = pvtPrefix
End Property
Public Property Get PrefixRegPiece() As ZtRegPiece
Set PrefixRegPiece = pvtPrefixRegPiece
End Property
Friend Property Get Suffix() As String
Suffix = pvtSuffix
End Property
Public Property Get SuffixRegPiece() As ZtRegPiece
Set SuffixRegPiece = pvtSuffixRegPiece
End Property
Public Property Get LocalizerRegString() As String
LocalizerRegString = pvtLocalizerRegString
End Property
Public Property Get LocalizerRegPiece() As ZtRegPiece
Set LocalizerRegPiece = pvtLocalizerRegPiece
End Property
Friend Property Get SuffixIsBeforeLocalizer() As Boolean
SuffixIsBeforeLocalizer = pvtSuffixIsBeforeLocalizer
End Property
' * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *