Concept-Defs/src/Declarations.bas
2024-06-07 20:05:28 +03:00

151 lines
3.8 KiB
QBasic

Attribute VB_Name = "Declarations"
Option Explicit
Public Const APP_HELP = "\\fs1.concept.ru\projects\10 Àâòîìàòèçàöèÿ äåÿòåëüíîñòè\01 Âûñîêèå òåõíîëîãèè\Êîíöåïò-Îïðåäåëåíèÿ\!Ðóêîâîäñòâî ïîëüçîâàòåëÿ.docx"
Public Const MASTER_BASIC = "Èñõîäíîå ïîíÿòèå"
Public Const MASTER_DERIVED = "Ïîíÿòèå"
Public Const MASTER_LEVEL = "Ãðàíèöà óðîâíåé"
Public Const SHAPE_DERVIED = "STermName"
Public Const PREFIX_GRID = "SLevel"
Public Const MASK_LEVEL = "SLevel*"
Public Const COLOR_MENTION = "RGB(0,176,240)"
Public Const COLOR_INVALID = "RGB(192,0,0)"
Public Const RANK_MAX = 15
Public Const RANK_UNREACHABLE = -1
Public Const SHAPE_BASIC = "SBasic"
Public Const SHAPE_DERIVED = "SDefinedNotion"
Public Const SHAPE_BLOCK = "SBlock"
Public Const SHAPE_CONNECTOR = "SConnector"
Public Const SHAPE_LEVEL = "SLevel"
Public Const VSO_CELL_LTYPE = "User.LinkType"
Public Const VSO_CELL_SOLID = "User.IsSolid"
Public Const VSO_CELL_BOLD = "User.IsBold"
Public Const VSO_BASIC_LTYPE = "User.Type"
Public Const V_GAP = 6.5 / 28.35 ' cm
Public Const H_GAP = 3 / 28.35 ' cm
Public Const GRID_X_MARGIN = 40 ' mm
Public Const MOST_LEFT = -99999
Public Const BASE_START = 5
Public Const BASIC_COLOMNS = 5
Public Const DERIVED_ROWS = 5
Public Enum ShapeType
STYPE_UNKNOWN = 0
STYPE_BASIC = 1
STYPE_TODO = 2
STYPE_ANNOUNCED = 3
STYPE_UNCLEAR = 4
STYPE_DERIVED = 5
STYPE_BLOCK = 6
STYPE_LINK = 7
STYPE_GRID = 8
End Enum
Public Enum LinkType
LT_DEFINE = 1
LT_CIRCLE = 2
LT_SYNON = 3
LT_OMON = 4
LT_CONSISTS = 5
End Enum
Public Enum DerivedStructure
S_D_TERM = 1
S_D_SOURCE = 2
S_D_DEFINITION = 3
End Enum
' -------- Excel -------------
Public Const TEMPLATE_PREFIX = "Òåõíîëîãèè"
Public Const SERVER_TEMPLATES = "\\fs1.concept.ru\projects\10 Àâòîìàòèçàöèÿ äåÿòåëüíîñòè\01 Âûñîêèå òåõíîëîãèè\Êîíöåïò-Îïðåäåëåíèÿ"
Public Const XL_TEMPLATE_NAME = "Îïðåäåëåíèÿ-Excel.xltx"
Public Const XL_SHEET_SHAPES = "Ôèãóðû"
Public Const XL_SHEET_LINKS = "Ñâÿçè"
Public Const XL_SHEET_MENTIONS = "Âõîæäåíèÿ"
Public Const XL_SHEET_CYCLES = "Öèêëû"
Public Enum ThesaurusStruct
XL_TS_ID = 1
XL_TS_NAME = 2
XL_TS_DEFINITION = 3
End Enum
Public Enum CompareStruct
XL_COMP_1ST = 1
XL_COMP_2ND = 2
XL_COMP_SHARED = 3
End Enum
Public Enum FullExportStruct
XL_COL_ID = 1
XL_COL_TYPE = 2
XL_COL_TERMNAME = 3
XL_COL_DEFINITION = 4
XL_COL_SOURCE = 5
XL_COL_PARENT = 6
XL_COL_COPY = 7
XL_COL_PINX = 8
XL_COL_PINY = 9
XL_COL_WIDTH = 10
XL_COL_HEIGHT = 11
XL_COL_LINECOLOR = 12
XL_COL_TEXTCOLOR = 13
End Enum
Public Enum MentionsStruct
XL_MENT_ID = 1
XL_MENT_START = 2
XL_MENT_FINISH = 3
XL_MENT_TEXT = 4
XL_MENT_COLOR = 5
XL_MENT_STYLE = 6
End Enum
Public Function GetExportTemplate(sFile$) As String
Dim fso As New Scripting.FileSystemObject
GetExportTemplate = SERVER_TEMPLATES & "\" & sFile
If fso.FileExists(GetExportTemplate) Then _
Exit Function
GetExportTemplate = ThisDocument.Path & sFile
If fso.FileExists(GetExportTemplate) Then _
Exit Function
GetExportTemplate = TEMPLATE_PREFIX & "\" & sFile
End Function
Public Function GetShapeType(target As Visio.Shape) As ShapeType
If target.MasterShape Is Nothing Then
GetShapeType = STYPE_UNKNOWN
Exit Function
End If
Select Case (target.MasterShape.Name)
Case SHAPE_BASIC: GetShapeType = target.CellsU(VSO_BASIC_LTYPE)
Case SHAPE_DERIVED: GetShapeType = STYPE_DERIVED
Case SHAPE_BLOCK: GetShapeType = STYPE_BLOCK
Case SHAPE_CONNECTOR: GetShapeType = STYPE_LINK
Case SHAPE_LEVEL: GetShapeType = STYPE_GRID
Case Else: GetShapeType = STYPE_UNKNOWN
End Select
End Function
Public Function IsShapeDuplicate(target As Visio.Shape) As Boolean
If CellsExists(target, VSO_CELL_SOLID) Then _
IsShapeDuplicate = IIf(target.CellsU(VSO_CELL_SOLID), False, True)
End Function