Concept-Maket/src/Declarations.bas
2024-06-07 20:07:08 +03:00

137 lines
3.7 KiB
QBasic
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Attribute VB_Name = "Declarations"
Option Explicit
' TODO: refactor this whole mess
Public Const FOOTER_SYMBOL_BREAK = 30
Public Const CSET_SLETTERS = "àáâãä叿çèéêëìíîïðñòóôõö÷øùúûüýþÿabcdefghijklmnopqrstuvwxyz"
Public Const CSET_BLETTERS = "ÀÁÂÃÄŨÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßABCDEFGHIJKLMNOPQRSTUVWXYZ"
Public Const BASE_STYLE = "!Àáçàö òåêñòà"
Public Const FIELD_SIZE_CM As Double = 2.54
' Íàñêîëüêî òåìíåå áóäåò âûäåëåíèå â òåêñòå îòíîñèòåëüíî çàãîëîâêà
Public Const TEXT_BOLD_LUMSCALE = -0.2
' Íàñòðîéêè îòòåíêîâ äëÿ òàáëèö
Public Const TABLE_FRAME_LUMSCALE = -0.35
Public Const TABLE_HEAD_LUMSCALE = 0.2
Public Const TABLE_SUBHEAD_LUMSCALE = 0.3
Public Const TABLE_ZEBRA_LUMSCALE = 0.8
Public Const TABLE_FRAME_THICKNESS = 18
Public Const TABLE_CELL_THICKNESS = 12
Public Const SECOND_COL_POS = 300
Public Const TABLE_CRITICAL_WIDTH As Double = 16
Public Const TABLE_CRITICAL_HEIGHT As Double = 22
Public Const RIGHT_POS_SHIFT = 8#
Public Const LEFT_POS_SHIFT = -0.25
' Â çàâèñèìîñòè îò øðèôòà çàãîëîâê àíóæíî ñòàâèòü ñïåöèàëüíóþ êîíñòàíòó
Public Const SPACING_SCALE = 1.15 ' Times New Roman
' Èäåíòèôèêàòîð êîëîíêè (ëåâî-ïðàâî)
Public Enum TColumn
T_COL_LEFT
T_COL_RIGHT
End Enum
' Ðåæèì íàïîëíåíèÿ êîëîíòèòóëà
Public Enum TSource
T_SOURCE_BOOK
T_SOURCE_VOLUME
T_SOURCE_SECTION
T_SOURCE_DOCUMENT
T_SOURCE_CHAPTER
T_SOURCE_CONCEPT
End Enum
' Òèï êîëîíòèòóëà
Public Type ColontitlePosition
top_ As Boolean
left_ As Boolean
source_ As TSource
End Type
' Íàñòðîéêà ðàñêðàñêè òàáëèöû
Public Type TablePaintProps
cGrid As Long
cHeading As Long
cSubHead As Long
cZebra As Long
sectionColor As Long
textSpacing As Double
End Type
' Ïàðàìåòðû áëîêà çàãîëîâêîâ
Public Type HeaderBlock
yText As Double
yHeight As Double
startRng As Word.Range
finishRng As Word.Range
End Type
' Íàñòðîéêà àâòîìàêèòèðîâàíèÿ
Public Type AutoDesignOptions
reapplyLists As Boolean
fixObjects As Boolean
titlePage As Boolean
doLayout As Boolean
generateColontitles As Boolean
Count As Integer
End Type
' Ïàðàìåòðû òèòóëüíîé ñòðàíèöû
Public Type TitlePageData
sVolume As String
nVolumeID As Long
sBook As String
nBookID As Long
rContract As Word.Range
rCustomer As Word.Range
rTheme As Word.Range
End Type
' Ïîëîæåíèÿ ðàçäåëîâ
Public Type SectionHeader
rFind As Word.Range
nStart As Long
nFinish As Long
cText As Long
cHeader As Long
End Type
Public Type SectionData
sName As String
sChapter As String
bNewChapter As Boolean
End Type
Public Function DesignTheme(ThemeColorIndex As WdThemeColorIndex) As Long
Select Case ThemeColorIndex:
Case wdThemeColorMainDark1: DesignTheme = Format("&HD000FFFF")
Case wdThemeColorMainLight1: DesignTheme = Format("&HD100FFFF")
Case wdThemeColorMainDark2: DesignTheme = Format("&HD200FFFF")
Case wdThemeColorMainLight2: DesignTheme = Format("&HD300FFFF")
Case wdThemeColorAccent1: DesignTheme = Format("&HD400FFFF")
Case wdThemeColorAccent2: DesignTheme = Format("&HD500FFFF")
Case wdThemeColorAccent3: DesignTheme = Format("&HD600FFFF")
Case wdThemeColorAccent4: DesignTheme = Format("&HD700FFFF")
Case wdThemeColorAccent5: DesignTheme = Format("&HD800FFFF")
Case wdThemeColorAccent6: DesignTheme = Format("&HD900FFFF")
Case wdThemeColorHyperlink: DesignTheme = Format("&HDA00FFFF")
Case wdThemeColorHyperlinkFollowed: DesignTheme = Format("&HDB00FFFF")
Case wdThemeColorBackground1: DesignTheme = Format("&HDC00FFFF")
Case wdThemeColorText1: DesignTheme = Format("&HDD00FFFF")
Case wdThemeColorBackground2: DesignTheme = Format("&HDE00FFFF")
Case wdThemeColorText2: DesignTheme = Format("&HDF00FFFF")
Case Else:
End Select
End Function