Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
63577d725c |
@ -3,10 +3,12 @@ using PIHelperSh.PdfCreator;
|
||||
using PIHelperSh.PdfCreator.Enums;
|
||||
using PIHelperSh.PdfCreator.Models.PieChartModel;
|
||||
using System.ComponentModel;
|
||||
using static System.Runtime.InteropServices.Marshalling.IIUnknownCacheStrategy;
|
||||
|
||||
namespace Cop.Borovkov.Var3.Components
|
||||
{
|
||||
/// <summary>
|
||||
/// Компонент создающий линейную диаграмму
|
||||
/// </summary>
|
||||
public partial class CustomPdfHistogram : Component
|
||||
{
|
||||
public CustomPdfHistogram()
|
||||
|
@ -1,13 +1,28 @@
|
||||
namespace Cop.Borovkov.Var3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Параметры столбца таблицы
|
||||
/// </summary>
|
||||
public record CustomDataTableColumnParameter
|
||||
{
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string HeaderName { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Ширина
|
||||
/// </summary>
|
||||
public int Width { get; init; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Видимость
|
||||
/// </summary>
|
||||
public bool Visible { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Название свойства
|
||||
/// </summary>
|
||||
public string PropertyName { get; init; } = string.Empty;
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
namespace Cop.Borovkov.Var3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Параметры для создания линейной диограммы
|
||||
/// Параметры для создания линейной диаграммы
|
||||
/// </summary>
|
||||
public record PdfHistigramInfo
|
||||
{
|
||||
@ -18,7 +18,7 @@ namespace Cop.Borovkov.Var3.Models
|
||||
public string DocumentTitle { get; init; } = "Гистограмма";
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок диограммы
|
||||
/// Заголовок диаграммы
|
||||
/// </summary>
|
||||
public string HistogramTitle { get; init; } = "Гистограмма";
|
||||
|
||||
@ -31,5 +31,5 @@ namespace Cop.Borovkov.Var3.Models
|
||||
/// Значения
|
||||
/// </summary>
|
||||
public required IEnumerable<PdfHistogramLineInfo> Values { get; init; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
namespace Cop.Borovkov.Var3.Models
|
||||
{
|
||||
/// <summary>
|
||||
/// Параметры для создания таблици в пдф с группировкой по 1 столбцу
|
||||
/// Параметры для создания таблицы в пдф с группировкой по 1 столбцу
|
||||
/// </summary>
|
||||
public class PdfTableWithGroupingInfo<TType> where TType : class
|
||||
{
|
||||
|
@ -15,7 +15,7 @@ namespace PIHelperSh.PdfCreator.Enums
|
||||
/// <summary>
|
||||
/// Отступа нет
|
||||
/// </summary>
|
||||
[TypeValue<string>("ocm")]
|
||||
[TypeValue<string>("0cm")]
|
||||
None,
|
||||
/// <summary>
|
||||
/// Отступ небольшой
|
||||
|
@ -29,7 +29,7 @@ namespace PIHelperSh.PdfCreator.Models.ImageModels
|
||||
public int? Height { get; set; } = null;
|
||||
|
||||
/// <summary>
|
||||
/// Выравнивание текста внутри параграфа (по умолчанию - по левой строне)
|
||||
/// Выравнивание текста внутри параграфа (по умолчанию - по левой стороне)
|
||||
/// </summary>
|
||||
public PdfAlignmentType ImageAlignment { get; set; } = PdfAlignmentType.Left;
|
||||
|
||||
|
@ -18,7 +18,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
||||
public IEnumerable<(string Name, double Value)> Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Цвет области на диаграме. При null будет использоватсся выдача цветов по умолчанию)
|
||||
/// Цвет области на диаграме. При null будет использоваться выдача цветов по умолчанию)
|
||||
/// </summary>
|
||||
public Color? Color { get; set; } = null;
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
||||
{
|
||||
/// <summary>
|
||||
/// Модель линейной диограммы
|
||||
/// Модель линейной диаграммы
|
||||
/// </summary>
|
||||
public class PdfHistogramModel : PdfPieChartModel
|
||||
{
|
||||
|
@ -18,7 +18,7 @@ namespace PIHelperSh.PdfCreator.Models.PieChartModel
|
||||
public double Value { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Цвет области на диаграме. При null будет использоватсся выдача цветов по умолчанию)
|
||||
/// Цвет области на диаграме. При null будет использоваться выдача цветов по умолчанию)
|
||||
/// </summary>
|
||||
public Color? Color { get; set; } = null;
|
||||
|
||||
|
@ -14,7 +14,7 @@ namespace PIHelperSh.PdfCreator.Models.TextModels
|
||||
public class PdfList : IPdfElement
|
||||
{
|
||||
/// <summary>
|
||||
/// Элементы списка (параграфы или иные спсики)
|
||||
/// Элементы списка (параграфы или иные списки)
|
||||
/// </summary>
|
||||
public List<IPdfElement> Content { get; set; } = new();
|
||||
|
||||
|
@ -24,7 +24,7 @@ namespace PIHelperSh.PdfCreator.Models.TextModels
|
||||
public PdfStyleType Style { get; set; } = PdfStyleType.Basic;
|
||||
|
||||
/// <summary>
|
||||
/// Выравнивание текста внутри параграфа (по умолчанию - по левой строне)
|
||||
/// Выравнивание текста внутри параграфа (по умолчанию - по левой стороне)
|
||||
/// </summary>
|
||||
public PdfAlignmentType ParagraphAlignment { get; set; } = PdfAlignmentType.Left;
|
||||
|
||||
|
227
Report/report.md
Normal file
227
Report/report.md
Normal file
@ -0,0 +1,227 @@
|
||||
# Лабораторная работа 1
|
||||
## Компоненты:
|
||||
|
||||
### CustomDataTable:
|
||||
Визуальный компонент вывода таблицы значений
|
||||
|
||||
__Публичные Методы__:
|
||||
- Определить структуру таблицы
|
||||
```c#
|
||||
void ConfigureColumns(params CustomDataTableColumnParameter[] columnParameters)
|
||||
```
|
||||
CustomDataTableColumnParameter
|
||||
```c#
|
||||
/// <summary>
|
||||
/// Параметры столбца таблицы
|
||||
/// </summary>
|
||||
public record CustomDataTableColumnParameter
|
||||
{
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string HeaderName { get; init; } = string.Empty;
|
||||
|
||||
/// <summary>
|
||||
/// Ширина
|
||||
/// </summary>
|
||||
public int Width { get; init; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// Видимость
|
||||
/// </summary>
|
||||
public bool Visible { get; init; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// Название свойства
|
||||
/// </summary>
|
||||
public string PropertyName { get; init; } = string.Empty;
|
||||
}
|
||||
```
|
||||
- Отчистить таблицу
|
||||
```c#
|
||||
public void Clear()
|
||||
```
|
||||
- Заполнить таблицу
|
||||
```c#
|
||||
public void Fill<TType>(IList<TType> insertValues)
|
||||
```
|
||||
|
||||
__Публичные Функции__:
|
||||
- Получить стоку таблицы в виде объекта
|
||||
```c#
|
||||
public TType? GetRow<TType>(int rowIndex) where TType : new()
|
||||
```
|
||||
|
||||
__Свойства__:
|
||||
- Индекс выбранной строки
|
||||
```c#
|
||||
public int SelectedRow
|
||||
```
|
||||
|
||||
|
||||
### CustomListBox
|
||||
Визуальный компонент выбора из списка значений
|
||||
|
||||
__Публичные Методы__:
|
||||
- Заполнить список значениями
|
||||
```c#
|
||||
public void FillValues(IEnumerable<string> strings)
|
||||
```
|
||||
- Очистить список
|
||||
```c#
|
||||
public void Clear()
|
||||
```
|
||||
|
||||
__Свойства__:
|
||||
- Событие возникающие при изменении списка
|
||||
```c#
|
||||
public event EventHandler ValueChanged
|
||||
```
|
||||
- Обработка ошибок
|
||||
```c#
|
||||
public event Action<Exception> AnErrorOccurred
|
||||
```
|
||||
- Выбранное значение
|
||||
```c#
|
||||
public string Selected
|
||||
```
|
||||
|
||||
|
||||
### CustomNumericInputField
|
||||
Визуальный компонент ввода целочисленного значения допускающего null
|
||||
|
||||
__Свойства__:
|
||||
- Событие возникающие при изменении поля ввода
|
||||
```c#
|
||||
public event EventHandler NumericInputChanged
|
||||
```
|
||||
- Обработка ошибок
|
||||
```c#
|
||||
public event Action<Exception> AnErrorOccurred
|
||||
```
|
||||
- Значения поля ввода
|
||||
```c#
|
||||
public int? Value
|
||||
```
|
||||
_Возможно исключение ```InvalidNumericInputValueException```_
|
||||
|
||||
|
||||
# Лабораторная работа 2
|
||||
## Компоненты:
|
||||
|
||||
### CustomPdfTable
|
||||
|
||||
Компонент для сохранения таблицы в пдф
|
||||
|
||||
__Публичные Методы__:
|
||||
- Определить структуру таблицы
|
||||
```c#
|
||||
public void SaveToPdf(PdfTableInfo tableInfo)
|
||||
```
|
||||
PdfTableInfo
|
||||
```c#
|
||||
/// <summary>
|
||||
/// Параметры для создания таблиц в пдф
|
||||
/// </summary>
|
||||
public record PdfTableInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// имя файла (включая путь до файла)
|
||||
/// </summary>
|
||||
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
||||
|
||||
/// <summary>
|
||||
/// название документа(заголовок в документе)
|
||||
/// </summary>
|
||||
public string Title { get; init; } = "Таблица";
|
||||
|
||||
/// <summary>
|
||||
/// Список таблиц
|
||||
/// </summary>
|
||||
public IEnumerable<string[,]> Tables { get; init; } = [];
|
||||
}
|
||||
```
|
||||
|
||||
### CustomPdfTableWithGrouping
|
||||
|
||||
Компонент создающий таблицу и группирует элементы по 1 столбцу
|
||||
__Публичные Методы__:
|
||||
- Сохранить в пдф
|
||||
```c#
|
||||
public void SaveToPdf<TType>(PdfTableWithGroupingInfo<TType> tableInfo) where TType : class
|
||||
```
|
||||
PdfTableWithGroupingInfo
|
||||
```c#
|
||||
/// <summary>
|
||||
/// Параметры для создания таблицы в пдф с группировкой по 1 столбцу
|
||||
/// </summary>
|
||||
public class PdfTableWithGroupingInfo<TType> where TType : class
|
||||
{
|
||||
/// <summary>
|
||||
/// имя файла (включая путь до файла)
|
||||
/// </summary>
|
||||
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
||||
|
||||
/// <summary>
|
||||
/// название документа(заголовок в документе)
|
||||
/// </summary>
|
||||
public string Title { get; init; } = "Таблица";
|
||||
|
||||
/// <summary>
|
||||
/// Высота заголовков
|
||||
/// </summary>
|
||||
public float HeaderHeight { get; init; } = 0.5f;
|
||||
|
||||
/// <summary>
|
||||
/// Параметры столбцов
|
||||
/// </summary>
|
||||
public IEnumerable<ColumnInfo> Columns { get; init; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// Список таблиц
|
||||
/// </summary>
|
||||
public IEnumerable<RowInfo<TType>> Rows { get; init; } = [];
|
||||
}
|
||||
```
|
||||
|
||||
### CustomPdfHistogram
|
||||
|
||||
Компонент создающий линейную диаграмму
|
||||
__Публичные Методы__:
|
||||
- Сохранить гистограмму в пдф
|
||||
```c#
|
||||
public void SaveToPdf(PdfHistigramInfo histogramInfo)
|
||||
```
|
||||
PdfHistigramInfo
|
||||
```c#
|
||||
/// <summary>
|
||||
/// Параметры для создания линейной диаграммы
|
||||
/// </summary>
|
||||
public record PdfHistigramInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Имя файла (включая путь до файла)
|
||||
/// </summary>
|
||||
public string FilePath { get; init; } = @"C:\pdfTable.pdf";
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок документа
|
||||
/// </summary>
|
||||
public string DocumentTitle { get; init; } = "Гистограмма";
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок диаграммы
|
||||
/// </summary>
|
||||
public string HistogramTitle { get; init; } = "Гистограмма";
|
||||
|
||||
/// <summary>
|
||||
/// Расположение легенды
|
||||
/// </summary>
|
||||
public PdfLegendPosition LegendPosition { get; init; } = PdfLegendPosition.Bottom;
|
||||
|
||||
/// <summary>
|
||||
/// Значения
|
||||
/// </summary>
|
||||
public required IEnumerable<PdfHistogramLineInfo> Values { get; init; }
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue
Block a user