Skip to content

Commit

Permalink
Assembly v 5.6 (14.01.24)
Browse files Browse the repository at this point in the history
  • Loading branch information
adslbarxatov committed Jan 14, 2024
1 parent 8c91a04 commit 1a89bc6
Show file tree
Hide file tree
Showing 26 changed files with 373 additions and 303 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/Release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
# Константы, используемые далее по тексту
env:
PROJ: ${{ github.event.repository.name }}
TAG: '5.5.6'
TAG: '5.6'

steps:
# Проверка состава репозитория (без анализа, как может показаться)
Expand Down
Binary file added .release/ExcelDataReader.DataSet.dll
Binary file not shown.
Binary file added .release/ExcelDataReader.dll
Binary file not shown.
Binary file added .release/GeomagDataDrawer.exe
Binary file not shown.
16 changes: 16 additions & 0 deletions .release/GeomagDataDrawer_en_us.dph
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Geomag data drawer is a software tool designed to build diagrams based on tabular data. It was originally created as a means of visualizing the results of experimental measurements; can still be used for this purpose.

Geomag data drawer supports the Microsoft Office Excel spreadsheets, tabular data in Windows CSV format and data extraction from files of text formats. The app can generate tabular data by running a given numerical range through analytically given function. Finally, it is possible to use text data from the clipboard for plotting.

In terms of data visualization and processing, Geomag data drawer provides the following main features:
- Construction of diagrams according to the presented data.
- Generation of data for plotting curves from an analytically given function.
- Editing diagram data in the built-in editor.
- Saving data files in Windows CSV format and as raw tabular data.
- Customization of most of the graphic characteristics of diagrams: sizes, placement, colors, fonts, lines, markers, etc.
- Setting your own coordinate plane and independent use of data columns as abscissas and ordinates for each dependence under study.
- Adding additional graphic objects: text labels, rectangles, ellipses and lines.
- Saving diagrams in graphic format .png with the ability to set a sufficiently large output size. This allows you to overcome the limitations of raster graphics when further using the image.
- Saving diagrams in vector formats .svg version 1.1 and .emf, if it is necessary to avoid losses when inserting an image into a printed document, or additional editing of the generated diagram in a vector graphics editor is required.

Implementation as a standalone application, support for all basic features for editing, building and designing diagrams, flexible settings system, bilingual interface, as well as the ability to store data in its own format eliminates the need to install additional software systems. Therefore, Geomag data drawer can be considered a very useful tool for processing and visualizing tabular data
16 changes: 16 additions & 0 deletions .release/GeomagDataDrawer_ru_ru.dph
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Geomag data drawer – программное средство, предназначенное для построения диаграмм на основе табличных данных. Изначально создавался как средство визуализации результатов экспериментальных измерений; может и сейчас быть использован с этой целью.

Geomag data drawer поддерживает таблицы Microsoft Office Excel, данные в формате Windows CSV и извлечение данных из файлов текстовых форматов. Программа может генерировать данные диаграммы путём прогона заданного числового диапазона через аналитически заданную функцию. Наконец, возможно использование текстовых данных из буфера обмена для построения диаграмм.

В части визуализации и обработки данных Geomag data drawer обеспечивает следующие основные возможности:
- Построение диаграмм по представленным данным.
- Генерация данных для построения кривых по аналитически заданной функции.
- Редактирование данных диаграммы во встроенном редакторе.
- Сохранение файлов данных в формате Windows CSV и формате произвольных табличных данных.
- Настройка большинства графических характеристик диаграмм: размеров, размещения, цветов, шрифтов, линий, маркеров и т.д.
- Задание собственной координатной плоскости и независимое использование столбцов данных в качестве абсцисс и ординат для каждой исследуемой зависимости.
- Добавление дополнительных графических объектов: текстовых подписей, прямоугольников, эллипсов и линий.
- Сохранение диаграмм в графическом формате .png с возможностью задания достаточно большого выходного размера. Это позволяет преодолеть ограничения растровой графики при дальнейшем использовании изображения.
- Сохранение диаграмм в векторных форматах .svg версии 1.1 и .emf, если необходимо избежать потерь при вставке изображения в печатный документ, или требуется дополнительное редактирование сформированной диаграммы в редакторе векторной графики.

Реализация в качестве отдельного приложения, поддержка всех основных возможностей по редактированию, построению и оформлению диаграмм, гибкая система управления, двуязычный интерфейс, а также возможность хранения данных в собственном формате снимает необходимость установки дополнительных программных комплексов. Поэтому Geomag data drawer можно считать весьма полезным инструментом обработки и визуализации табличных данных
Binary file added .release/ICSharpCode.SharpZipLib.dll
Binary file not shown.
8 changes: 4 additions & 4 deletions .release/Release.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
_Changes for v 5.5.6_:
- Added a new version of offline help;
- Completed the process of version control unification;
- Fixed problem with `NaN` values on systems with non-English localizations
_Changes for v 5.6_:
- Core updates have been applied;
- Fixed some minor interface bugs;
- Added a new version of offline help
4 changes: 4 additions & 0 deletions Changes.log
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ ToDo:
- Add the runtime image movement?
- Limit for the data editor?

Version 5.6:
• Core updates have been applied;
• Fixed some minor interface bugs

Version 5.5.6:
• Added a new version of offline help

Expand Down
17 changes: 7 additions & 10 deletions src/ColumnsAdder.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,12 +76,12 @@ public ColumnsAdder (DiagramData SourceData)
{
// Инициализация
InitializeComponent ();
this.Text = Localization.GetControlText ("ColumnsAdder", "TN");
this.Text = RDLocale.GetControlText ("ColumnsAdder", "TN");

// Заполнение списка типов объектов
for (int i = 1; i <= 9; i++)
{
ObjectCombo.Items.Add (Localization.GetControlText ("ColumnsAdder", "ObjectType_" +
ObjectCombo.Items.Add (RDLocale.GetControlText ("ColumnsAdder", "ObjectType_" +
i.ToString ()));
}
ObjectCombo.Text = ObjectCombo.Items[0].ToString ();
Expand All @@ -102,7 +102,7 @@ public ColumnsAdder (DiagramData SourceData, int OldXColumnNumber, int OldYColum
{
// Инициализация
InitializeComponent ();
this.Text = Localization.GetControlText ("ColumnsAdder", "TE");
this.Text = RDLocale.GetControlText ("ColumnsAdder", "TE");

// Запрет на обновление данных дополнительных объектов
Radio02.Enabled = false;
Expand All @@ -115,9 +115,9 @@ public ColumnsAdder (DiagramData SourceData, int OldXColumnNumber, int OldYColum
private void ColumnsAdderConstructor (DiagramData SourceData, int OldXColumnNumber, int OldYColumnNumber)
{
// Локазизация формы
ApplyButton.Text = Localization.GetDefaultText (LzDefaultTextValues.Button_OK);
AbortButton.Text = Localization.GetDefaultText (LzDefaultTextValues.Button_Cancel);
Localization.SetControlsText (this);
ApplyButton.Text = RDLocale.GetDefaultText (RDLDefaultTexts.Button_OK);
AbortButton.Text = RDLocale.GetDefaultText (RDLDefaultTexts.Button_Cancel);
RDLocale.SetControlsText (this);

// Загрузка параметров
for (uint col = 0; col < SourceData.DataColumnsCount; col++)
Expand All @@ -128,13 +128,10 @@ private void ColumnsAdderConstructor (DiagramData SourceData, int OldXColumnNumb

// Определение отображаемых столбцов
if ((OldXColumnNumber >= 0) && (OldXColumnNumber < SourceData.DataColumnsCount))
{
xColumnNumber = (uint)OldXColumnNumber;
}

if ((OldYColumnNumber >= 0) && (OldYColumnNumber < SourceData.DataColumnsCount))
{
yColumnNumber = (uint)OldYColumnNumber;
}

XCombo.Text = XCombo.Items[(int)xColumnNumber].ToString ();
YCombo.Text = YCombo.Items[(int)yColumnNumber].ToString ();
Expand Down
66 changes: 33 additions & 33 deletions src/ColumnsAdderCmd.cs
Original file line number Diff line number Diff line change
Expand Up @@ -156,15 +156,15 @@ public ColumnsAdderCmd (uint DataColumnsCount, bool Silent)
{
// Инициализация и локализация формы
InitializeComponent ();
Localization.SetControlsText (this);
ApplyButton.Text = Localization.GetDefaultText (LzDefaultTextValues.Button_OK);
AbortButton.Text = Localization.GetDefaultText (LzDefaultTextValues.Button_Cancel);
this.Text = Localization.GetControlText (this.Name, "T");
RDLocale.SetControlsText (this);
ApplyButton.Text = RDLocale.GetDefaultText (RDLDefaultTexts.Button_OK);
AbortButton.Text = RDLocale.GetDefaultText (RDLDefaultTexts.Button_Cancel);
this.Text = RDLocale.GetControlText (this.Name, "T");

// Настройка контролов
OFDialog.Filter = SFDialog.Filter = Localization.GetControlText (this.Name, "OFDialog_F");
OFDialog.Title = Localization.GetControlText (this.Name, "OFDialog");
SFDialog.Title = Localization.GetControlText (this.Name, "SFDialog");
OFDialog.Filter = SFDialog.Filter = RDLocale.GetControlText (this.Name, "OFDialog_F");
OFDialog.Title = RDLocale.GetControlText (this.Name, "OFDialog");
SFDialog.Title = RDLocale.GetControlText (this.Name, "SFDialog");

// Загрузка параметров
dataColumnsCount = DataColumnsCount;
Expand Down Expand Up @@ -209,7 +209,7 @@ private void CommandLine_TextChanged (object sender, EventArgs e)

// Обработка
ProcessingMsg.Text = ProcessCommandLine (CommandLine.Text);
if (ProcessingMsg.Text == Localization.GetControlText (this.Name, "Correct"))
if (ProcessingMsg.Text == RDLocale.GetControlText (this.Name, "Correct"))
{
// Успешно
ApplyButton.Enabled = true;
Expand Down Expand Up @@ -248,7 +248,7 @@ private string ProcessCommandLine (string Line)
}
catch
{
return Localization.GetControlText (this.Name, "ICNError");
return RDLocale.GetControlText (this.Name, "ICNError");
}

try
Expand All @@ -258,7 +258,7 @@ private string ProcessCommandLine (string Line)
}
catch
{
return Localization.GetControlText (this.Name, "IDSError");
return RDLocale.GetControlText (this.Name, "IDSError");
}

try
Expand All @@ -268,7 +268,7 @@ private string ProcessCommandLine (string Line)
}
catch
{
return Localization.GetControlText (this.Name, "IDOError");
return RDLocale.GetControlText (this.Name, "IDOError");
}

// Длинная строка
Expand All @@ -285,38 +285,38 @@ private string ProcessCommandLine (string Line)
}
catch
{
return Localization.GetControlText (this.Name, "ITOError");
return RDLocale.GetControlText (this.Name, "ITOError");
}
}
}
else
{
return Localization.GetControlText (this.Name, "IPCError");
return RDLocale.GetControlText (this.Name, "IPCError");
}

// Контроль диапазонов
if ((xColumnNumberT >= dataColumnsCount) || (yColumnNumberT >= dataColumnsCount))
{
return string.Format (Localization.GetControlText (this.Name, "OCNError"), dataColumnsCount);
return string.Format (RDLocale.GetControlText (this.Name, "OCNError"), dataColumnsCount);
}

if ((imageWidthT > DiagramStyle.MaxImageWidth) || (imageWidthT < DiagramStyle.MinImageWidth) ||
(imageHeightT > DiagramStyle.MaxImageHeight) || (imageHeightT < DiagramStyle.MinImageHeight))
{
return string.Format (Localization.GetControlText (this.Name, "ODSError"),
return string.Format (RDLocale.GetControlText (this.Name, "ODSError"),
DiagramStyle.MinImageWidth, DiagramStyle.MaxImageWidth, DiagramStyle.MinImageHeight,
DiagramStyle.MaxImageHeight);
}

if ((imageLeftT > DiagramStyle.MaxImageWidth) || (imageTopT > DiagramStyle.MaxImageHeight))
{
return string.Format (Localization.GetControlText (this.Name, "ODOError"),
return string.Format (RDLocale.GetControlText (this.Name, "ODOError"),
DiagramStyle.MaxImageWidth, DiagramStyle.MaxImageHeight);
}

if ((lineNameLeftOffsetT > imageWidthT) || (lineNameTopOffsetT > imageHeightT))
{
return string.Format (Localization.GetControlText (this.Name, "OTOError"),
return string.Format (RDLocale.GetControlText (this.Name, "OTOError"),
imageWidthT, imageHeightT);
}

Expand All @@ -332,7 +332,7 @@ private string ProcessCommandLine (string Line)
lineNameLeftOffset.Add (lineNameLeftOffsetT);
lineNameTopOffset.Add (lineNameTopOffsetT);

return Localization.GetControlText (this.Name, "Correct");
return RDLocale.GetControlText (this.Name, "Correct");
}

// Выбор варианта загрузки
Expand Down Expand Up @@ -375,19 +375,15 @@ private void OFDialog_FileOk (object sender, CancelEventArgs e)

// Загрузка параметров
if (!LoadParametersFile (OFDialog.FileName))
{
return;
}

// Конечная обработка
if (autoNameOffset.Count != 0)
{
ApplyButton.Enabled = true;
}

if (ProcessingResults.Text == "")
{
ProcessingResults.Text = Localization.GetControlText (this.Name, "Correct");
ProcessingResults.Text = RDLocale.GetControlText (this.Name, "Correct");
ProcessingResults.ForeColor = Color.FromArgb (0, 192, 0);
}
}
Expand Down Expand Up @@ -420,13 +416,15 @@ public bool LoadParametersFile (string FileName)
}
catch
{
/*ProcessingResults.Text =
Localization.GetFileProcessingMessage (FileName, LzFileProcessingMessageTypes.Load_Failure);*/
ProcessingResults.Text =
Localization.GetFileProcessingMessage (FileName, LzFileProcessingMessageTypes.Load_Failure);
string.Format (RDLocale.GetDefaultText (RDLDefaultTexts.Message_LoadFailure_Fmt), FileName);
return false;
}

// Файл открыт
StreamReader SR = new StreamReader (FS, RDGenerics.GetEncoding (SupportedEncodings.UTF8));
StreamReader SR = new StreamReader (FS, RDGenerics.GetEncoding (RDEncodings.UTF8));

// Чтение и обработка
uint line = 0;
Expand All @@ -435,16 +433,15 @@ public bool LoadParametersFile (string FileName)
string res = ProcessCommandLine (SR.ReadLine ());
line++;

if (res != Localization.GetControlText (this.Name, "Correct"))
if (res != RDLocale.GetControlText (this.Name, "Correct"))
{
ProcessingResults.Text += ("#" + line.ToString () + ": " + res +
Localization.RN);
ProcessingResults.Text += ("#" + line.ToString () + ": " + res + RDLocale.RN);
}

if (line >= DiagramData.MaxLines)
{
ProcessingResults.Text += (string.Format (Localization.GetText ("LinesOverloadError"),
DiagramData.MaxLines) + Localization.RN);
ProcessingResults.Text += (string.Format (RDLocale.GetText ("LinesOverloadError"),
DiagramData.MaxLines) + RDLocale.RN);
break;
}
}
Expand All @@ -464,8 +461,11 @@ public bool CreateParametersFile (string FileName)
{
if (!CreateDefaultParametersFile (FileName))
{
ProcessingResults.Text = Localization.GetFileProcessingMessage (FileName,
LzFileProcessingMessageTypes.Save_Failure);
/*ProcessingResults.Text = Localization.GetFileProcessingMessage (FileName,
LzFileProcessingMessageTypes.Save_Failure);*/
ProcessingResults.Text =
string.Format (RDLocale.GetDefaultText (RDLDefaultTexts.Message_LoadFailure_Fmt),
FileName);
return false;
}

Expand Down Expand Up @@ -541,7 +541,7 @@ public static bool WriteParametersFile (DiagramData Data, string FileName)
{
return false;
}
StreamWriter SW = new StreamWriter (FS, RDGenerics.GetEncoding (SupportedEncodings.UTF8));
StreamWriter SW = new StreamWriter (FS, RDGenerics.GetEncoding (RDEncodings.UTF8));

// Запись
for (int i = 0; i < Data.LinesCount; i++)
Expand Down
8 changes: 4 additions & 4 deletions src/ColumnsNamesSelector.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ public ColumnsNamesSelector (uint SkippedRowsCount)
{
// Инициализация и локализация формы
InitializeComponent ();
Localization.SetControlsText (this);
ApplyButton.Text = Localization.GetDefaultText (LzDefaultTextValues.Button_OK);
AbortButton.Text = Localization.GetDefaultText (LzDefaultTextValues.Button_Cancel);
this.Text = Localization.GetControlText (this.Name, "T");
RDLocale.SetControlsText (this);
ApplyButton.Text = RDLocale.GetDefaultText (RDLDefaultTexts.Button_OK);
AbortButton.Text = RDLocale.GetDefaultText (RDLDefaultTexts.Button_Cancel);
this.Text = RDLocale.GetControlText (this.Name, "T");

// Настройка контролов
ColumnsCount.Maximum = ConfigAccessor.MaxSkippedLinesCount;
Expand Down
Loading

0 comments on commit 1a89bc6

Please sign in to comment.