Skip to content

Add an setting for omitting content variable from the title #85

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 26 additions & 10 deletions PCAxis.Core/Misc/Settings.vb
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Imports System.Globalization
Imports System.Collections.Concurrent
Imports System.Collections.Concurrent
Imports System.Globalization

Namespace PCAxis.Paxiom

Expand All @@ -23,6 +23,22 @@ Namespace PCAxis.Paxiom
_removeContent = value
End Set
End Property

Private Shared _omitContentsVariableInTitle As Boolean = False
''' <summary>
''' If the contents variable should be omitted in the title
''' </summary>
''' <value></value>
''' <returns></returns>
''' <remarks>Default value is False</remarks>
Public Shared Property OmitContentsVariableInTitle() As Boolean
Get
Return _omitContentsVariableInTitle
End Get
Set(ByVal value As Boolean)
_omitContentsVariableInTitle = value
End Set
End Property
End Class

Shared Sub New()
Expand Down Expand Up @@ -69,14 +85,14 @@ Namespace PCAxis.Paxiom
#Region "DataSymbols"

Public Class DataSymbols
Private Shared _dataSymbols() As String = _
{PXConstant.DATASYMBOL_NIL_STRING, _
PXConstant.DATASYMBOL_1_STRING, _
PXConstant.DATASYMBOL_2_STRING, _
PXConstant.DATASYMBOL_3_STRING, _
PXConstant.DATASYMBOL_4_STRING, _
PXConstant.DATASYMBOL_5_STRING, _
PXConstant.DATASYMBOL_6_STRING, _
Private Shared _dataSymbols() As String =
{PXConstant.DATASYMBOL_NIL_STRING,
PXConstant.DATASYMBOL_1_STRING,
PXConstant.DATASYMBOL_2_STRING,
PXConstant.DATASYMBOL_3_STRING,
PXConstant.DATASYMBOL_4_STRING,
PXConstant.DATASYMBOL_5_STRING,
PXConstant.DATASYMBOL_6_STRING,
PXConstant.DATASYMBOL_7_STRING}

Public Shared Property Symbol(ByVal index As Integer) As String
Expand Down
79 changes: 42 additions & 37 deletions PCAxis.Core/PaxiOM/PXMeta.vb
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
Imports System.Xml
Imports System.IO
Imports System.Reflection
Imports PCAxis.Paxiom.Localization
Imports PCAxis.Paxiom.ClassAttributes
Imports PCAxis.Paxiom.Localization
'Imports System.Windows.Forms
Imports Microsoft.VisualBasic

Namespace PCAxis.Paxiom

''' <summary>
''' The metadata for a statistical cube.
''' </summary>
''' <remarks></remarks>
<Serializable()> _
<Serializable()>
Public Class PXMeta
Implements System.Runtime.Serialization.ISerializable

Expand All @@ -26,14 +22,14 @@ Namespace PCAxis.Paxiom
Private _charset As String
Private _matrix As String
Private _subjectCode As String
<LanguageDependent()> _
<LanguageDependent()>
Private _subjectArea(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _contents(0) As String
Private _decimals As Integer = -1
<LanguageDependent()> _
<LanguageDependent()>
Private _title(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _description(0) As String
Private _language As String
Private _axisVersion As String
Expand All @@ -44,59 +40,59 @@ Namespace PCAxis.Paxiom
Private _creationDate As String
Private _copyright As Boolean
Private _showDecimals As Integer = -1
<LanguageDependent()> _
<LanguageDependent()>
Private _source(0) As String
Private _confidential As Integer = 0
<LanguageDependent()> _
<LanguageDependent()>
Private _database(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _infoFile(0) As String
Private _contentInfo As ContInfo
Private _updateFrequency As String
Private _nextUpdate As String
Private _PXServer As String
Private _directoryPath As String
<LanguageDependent()> _
<LanguageDependent()>
Private _information(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _link(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _survey(0) As String
Private _tableID As String
Private _defaultGraph As Integer = Integer.MinValue
<LanguageDependent()> _
<LanguageDependent()>
Private _dataNoteSum(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _notes(0) As Notes
Private _variables As Variables = New Variables
Private _heading As Variables = New Variables
Private _stub As Variables = New Variables
<LanguageDependent()> _
<LanguageDependent()>
Private _cellNotes(0) As CellNotes
<LanguageDependent()> _
<LanguageDependent()>
Private _dataNoteCells(0) As DataNoteCells
Private _contentVariable As Variable = Nothing
Private _rounding As RoundingType = RoundingType.None
Private _synonyms As String
Private _currentLanguage As String

<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol1(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol2(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol3(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol4(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol5(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol6(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbol7(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbolNIL(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _dataSymbolSum(0) As String

Private _mainTable As String
Expand All @@ -110,9 +106,9 @@ Namespace PCAxis.Paxiom
Private _preferredLanguage As String = Nothing

Private _firstPublished As String
<LanguageDependent()> _
<LanguageDependent()>
Private _datanote(0) As String
<LanguageDependent()> _
<LanguageDependent()>
Private _metaId(0) As String

#End Region
Expand Down Expand Up @@ -1342,12 +1338,21 @@ Namespace PCAxis.Paxiom

Dim vars As New List(Of Variable)

For Each var As Variable In Me.Variables
If Not (PCAxis.Paxiom.Settings.Metadata.RemoveSingleContent AndAlso var.IsContentVariable AndAlso var.Values.Count = 1) Then
'Add all variables except the content variable if it only contains one value
vars.Add(var)
End If
Next
If PCAxis.Paxiom.Settings.Metadata.OmitContentsVariableInTitle Then
For Each var As Variable In Me.Variables
If Not var.IsContentVariable Then
'Add all variables except the content variable
vars.Add(var)
End If
Next
Else
For Each var As Variable In Me.Variables
If Not (PCAxis.Paxiom.Settings.Metadata.RemoveSingleContent AndAlso var.IsContentVariable AndAlso var.Values.Count = 1) Then
'Add all variables except the content variable if it only contains one value
vars.Add(var)
End If
Next
End If

'Remember current language
oldCurrentLanguageIndex = CurrentLanguageIndex
Expand Down
Loading