Стартовый пул

This commit is contained in:
2024-04-02 08:46:59 +03:00
parent fd57fffd3a
commit 3bb34d000b
5591 changed files with 3291734 additions and 0 deletions

View File

@@ -0,0 +1,724 @@
<?xml version="1.0" encoding="utf-8"?>
<fpdoc-descriptions>
<package name="dcl_rx_fpc">
<short>Пакет времени разработки</short>
<descr>
<p>Данный пакет содержит в себе вспомогательные классы и утилиты, которые необходимы во время разработки программы.</p>
<p>Все эти данные не используются во время работы готовой программы, поэтому этот код не включается в финальные версии программ.</p>
</descr>
</package>
<package name="rxfpc">
<module name="rxdbgrid">
<element name="TRxColumnTitle.Create"/>
<element name="TRxColumnTitle.Destroy"/>
<element name="TRxColumnTitle.CaptionLinesCount"/>
<element name="TRxColumnTitle.CaptionLine"/>
<element name="TRxColumnTitle.Orientation"/>
<element name="TRxColumnTitle.Hint"/>
<element name="TRxColumnTitle.ShowHint"/>
<element name="TRxColumnFooter"/>
<element name="TRxColumnFooter.Create"/>
<element name="TRxColumnFooter.Owner"/>
<element name="TRxColumnFooter.Alignment"/>
<element name="TRxColumnFooter.Layout"/>
<element name="TRxColumnFooter.DisplayFormat"/>
<element name="TRxColumnFooter.FieldName"/>
<element name="TRxColumnFooter.Value">
<short>Текст, выводимый в последней строке списка</short>
<descr>При установленном занчении свойства
<link id="TRxColumnFooter.ValueType">ValueType</link> равным <link id="TFooterValueType">fvtStaticText</link>, в последней строки списка оторажается введённое здесь значение</descr>
</element>
<element name="TRxColumnFooter.ValueType">
<short>Определяем тип занчения, автоматически расчитываемого в итоговой строке</short>
<descr>
<link id="TFooterValueType">Определяем тип занчения</link>, автоматически расчитываемого в итоговой строке</descr>
</element>
<element name="TRxColumnFilter"/>
<element name="TRxColumnFilter.Create"/>
<element name="TRxColumnFilter.Destroy"/>
<element name="TRxColumnFilter.Value"/>
<element name="TRxColumnFilter.Font"/>
<element name="TRxColumnFilter.Alignment"/>
<element name="TRxColumnFilter.DropDownRows"/>
<element name="TRxColumnFilter.Color"/>
<element name="TRxColumnFilter.ValueList"/>
<element name="TRxColumnFilter.EmptyValue"/>
<element name="TRxColumnFilter.EmptyFont"/>
<element name="TRxColumnFilter.ItemIndex"/>
<element name="TRxDBGrid">
<short>Наследник от стандартного TDBGrid с дополнительными возможностями</short>
<descr>
<p>Компонента TRxDBGrid предназначена, как и стандартная компонента TDBGrid, для отображения данных таблиц БД или результатов запросов в табличной форме. Являясь наследником TDBGrid, компонента TRxDBGrid имеет все те же свойства и методы, и, кроме того, некоторые свойства, находящиеся у TDBGrid в секции protected, вынесены в секцию public. Это такие свойства, как Col, Row, LeftCol, Canvas. </p>
<p>Другие отличия от TDBGrid: </p>
<p>- BLOB-поля базы данных, такие как графические изображения, текстовые мемо-поля, другие BLOB'ы могут отображаться в таблице в виде пиктограмм при установленном в True значении свойства ShowGlyphs; </p>
<p>- вы можете изменить цвет шрифта и фона любой ячейки таблицы (либо любой ее строки или столбца) в зависимости от значения поля или имени поля набора данных, определив обработчик события OnGetCellParams; </p>
<p>- имеются методы SaveLayout и RestoreLayout для сохранения и восстановления порядка и ширин столбцов компоненты TRxDBGrid в INI или XML-файле. Вы можете также автоматически сохранять и восстанавливать эти параметры, присвоив значение свойству IniStorage. </p>
<p>- заголовки колонок Grid-а могут быть с помощью свойства TitleButtons использованы как кнопки, например, для изменения порядка сортировки отображаемых данных. </p>
<p>- вы можете зафиксировать несколько первых колонок в Grid-е с помощью свойства FixedCols. </p>
</descr>
</element>
<element name="TRxDBGrid.FilterRec"/>
<element name="TRxDBGrid.Create"/>
<element name="TRxDBGrid.Destroy"/>
<element name="TRxDBGrid.EditorByStyle"/>
<element name="TRxDBGrid.LayoutChanged"/>
<element name="TRxDBGrid.ShowFindDialog"/>
<element name="TRxDBGrid.ShowColumnsDialog"/>
<element name="TRxDBGrid.ColumnByFieldName"/>
<element name="TRxDBGrid.Canvas"/>
<element name="TRxDBGrid.DefaultTextStyle"/>
<element name="TRxDBGrid.EditorBorderStyle"/>
<element name="TRxDBGrid.EditorMode"/>
<element name="TRxDBGrid.ExtendedColSizing"/>
<element name="TRxDBGrid.FastEditing"/>
<element name="TRxDBGrid.FocusRectVisible"/>
<element name="TRxDBGrid.SelectedRows"/>
<element name="TRxDBGrid.CalcStatTotals"/>
<element name="TRxDBGrid.OptimizeColumnsWidth"/>
<element name="TRxDBGrid.OptimizeColumnsWidthAll"/>
<element name="TRxDBGrid.UpdateTitleHight"/>
<element name="TRxDBGrid.QuickUTF8Search"/>
<element name="TRxDBGrid.GetOnCreateLookup"/>
<element name="TRxDBGrid.GetOnDisplayLookup"/>
<element name="TRxDBGrid.AfterQuickSearch">
<short>Событие, возникающее до выполнения операции быстрого поиска данных в спике</short>
<descr>Событие, возникающее до выполнения операции быстрого поиска данных в спике</descr>
<seealso>
<link id="TRxQuickSearchNotifyEvent"/>
</seealso>
</element>
<element name="TRxDBGrid.BeforeQuickSearch">
<short>Событие, возникающее после выполнения операции быстрого поиска данных в спике</short>
<descr>Событие, возникающее после выполнения операции быстрого поиска данных в спике</descr>
<seealso>
<link id="TRxQuickSearchNotifyEvent"/>
</seealso>
</element>
<element name="TRxDBGrid.OnGetBtnParams">
<short>Данный тип описывает событие при отображении в списке заголовка колонки</short>
<descr>Данный <link id="TGetBtnParamsEvent">тип описывает событие</link> при отображении в списке заголовка колонки</descr>
</element>
<element name="TRxDBGrid.TitleButtons">
<short>property TitleButtons: Boolean;</short>
<descr>Свойство определяет, могут ли заголовки колонок в Grid-е быть использованы как кнопки. По умолчанию - False.
При установке свойства в значение True Вы можете обработать события OnTitleBtnClick для обработки нажатия на такую кнопку и OnCheckButton, OnGetBtnParams для установки свойств кнопок в заголовке.</descr>
</element>
<element name="TRxDBGrid.AutoSort"/>
<element name="TRxDBGrid.OnGetCellProps">
<short>Событие получения параметров ячейки в RxDBGrid-е</short>
<descr>
<p>Событие получения параметров ячейки в <link id="TRxDBGrid">RxDBGrid</link>-е</p>
</descr>
<seealso>
<link id="TGetCellPropsEvent"/>
</seealso>
</element>
<element name="TRxDBGrid.Columns"/>
<element name="TRxDBGrid.PropertyStorage">
<short>property IniStorage: TFormPlacement;</short>
<descr>
<p>Свойство позволяет автоматически сохранять специфические установки компоненты в INI-файле или (для 32-разрядной версии) в системном регистре при помощи компонент TFormPlacement или TFormStorage. </p>
<p>При задании значения свойству IniStorage (и непустом имени компоненты), некоторые ее настройки, которые не являются published-свойствами и не могут быть заданы для TFormStorage напрямую, будут сохраняться и восстанавливаться одновременни с другими значениями, заданными для соответствующей компоненты TFormPlacement (TFormStorage). </p>
<p>Для TSpeedbar - это расположение кнопок на панели и положение самой панели, для TMRUManager - список строк, для TRxDBGrid - ширины и положение полей в таблице и т.д. Все компоненты, имеющие свойство IniStorage, имеют также методы для сохранения и восстановления их настроек вручную, такие как Save/RestoreLayout и т.д.</p>
</descr>
</element>
<element name="TRxDBGrid.Version"/>
<element name="TRxDBGrid.AllowedOperations">
<short>Набор флагов, определяющие поведение при редактировании/добавлении или удалении данных в RxDBGrid</short>
<descr>Набор <link id="TRxDBGridAllowedOperation">флагов</link>флагов, определяющие поведение при редактировании/добавлении или удалении данных в RxDBGrid</descr>
</element>
<element name="TRxDBGrid.OptionsRx">
<short>Набор флагов, управляющих поведением RxDBGrid</short>
<descr>
<p>
<link id="TOptionRx">Набор флагов</link>, управлюящих поведением
<link id="TRxDBGrid">RxDBGrid</link>-а.</p>
</descr>
</element>
<element name="TRxDBGrid.FooterColor"/>
<element name="TRxDBGrid.FooterRowCount"/>
<element name="TRxDBGrid.OnFiltred"/>
<element name="TRxDBGrid.Align"/>
<element name="TRxDBGrid.AlternateColor"/>
<element name="TRxDBGrid.Anchors"/>
<element name="TRxDBGrid.AutoAdvance"/>
<element name="TRxDBGrid.AutoFillColumns"/>
<element name="TRxDBGrid.AutoEdit"/>
<element name="TRxDBGrid.BiDiMode"/>
<element name="TRxDBGrid.BorderSpacing"/>
<element name="TRxDBGrid.BorderStyle"/>
<element name="TRxDBGrid.Color"/>
<element name="TRxDBGrid.BorderColor"/>
<element name="TRxDBGrid.FocusColor"/>
<element name="TRxDBGrid.FixedHotColor"/>
<element name="TRxDBGrid.SelectedColor"/>
<element name="TRxDBGrid.GridLineColor"/>
<element name="TRxDBGrid.GridLineStyle"/>
<element name="TRxDBGrid.Constraints"/>
<element name="TRxDBGrid.DataSource"/>
<element name="TRxDBGrid.DefaultDrawing"/>
<element name="TRxDBGrid.DefaultRowHeight"/>
<element name="TRxDBGrid.DragCursor"/>
<element name="TRxDBGrid.DragKind"/>
<element name="TRxDBGrid.DragMode"/>
<element name="TRxDBGrid.Enabled"/>
<element name="TRxDBGrid.FixedColor"/>
<element name="TRxDBGrid.FixedCols"/>
<element name="TRxDBGrid.Flat"/>
<element name="TRxDBGrid.Font"/>
<element name="TRxDBGrid.HeaderHotZones"/>
<element name="TRxDBGrid.HeaderPushZones"/>
<element name="TRxDBGrid.Options"/>
<element name="TRxDBGrid.OptionsExtra"/>
<element name="TRxDBGrid.ParentBiDiMode"/>
<element name="TRxDBGrid.ParentColor"/>
<element name="TRxDBGrid.ParentFont"/>
<element name="TRxDBGrid.ParentShowHint"/>
<element name="TRxDBGrid.PopupMenu"/>
<element name="TRxDBGrid.ReadOnly"/>
<element name="TRxDBGrid.Scrollbars"/>
<element name="TRxDBGrid.ShowHint"/>
<element name="TRxDBGrid.TabOrder"/>
<element name="TRxDBGrid.TabStop"/>
<element name="TRxDBGrid.TitleFont"/>
<element name="TRxDBGrid.TitleStyle"/>
<element name="TRxDBGrid.Visible"/>
<element name="TRxDBGrid.OnCellClick"/>
<element name="TRxDBGrid.OnColEnter"/>
<element name="TRxDBGrid.OnColExit"/>
<element name="TRxDBGrid.OnColumnMoved"/>
<element name="TRxDBGrid.OnColumnSized"/>
<element name="TRxDBGrid.OnDragDrop"/>
<element name="TRxDBGrid.OnDragOver"/>
<element name="TRxDBGrid.OnDrawColumnCell"/>
<element name="TRxDBGrid.OnDblClick"/>
<element name="TRxDBGrid.OnEditButtonClick"/>
<element name="TRxDBGrid.OnEndDock"/>
<element name="TRxDBGrid.OnEndDrag"/>
<element name="TRxDBGrid.OnEnter"/>
<element name="TRxDBGrid.OnExit"/>
<element name="TRxDBGrid.OnFieldEditMask"/>
<element name="TRxDBGrid.OnKeyDown"/>
<element name="TRxDBGrid.OnKeyPress"/>
<element name="TRxDBGrid.OnKeyUp"/>
<element name="TRxDBGrid.OnMouseDown"/>
<element name="TRxDBGrid.OnMouseMove"/>
<element name="TRxDBGrid.OnMouseUp"/>
<element name="TRxDBGrid.OnPrepareCanvas"/>
<element name="TRxDBGrid.OnSelectEditor"/>
<element name="TRxDBGrid.OnStartDock"/>
<element name="TRxDBGrid.OnStartDrag"/>
<element name="TRxDBGrid.OnTitleClick">
<descr>Событие происходит при нажатии пользователем на кнопку в заголовке колонки компоненты TRxDBGrid при установленном в True значении свойства TitleButtons. В обработчик события в качестве параметров передаются номер колонки ACol и поле Field, соответствующее данной колонке.</descr>
</element>
<element name="TRxDBGrid.OnUserCheckboxBitmap"/>
<element name="TRxDBGrid.OnUTF8KeyPress"/>
<element name="TRxDBGrid.OnCreateLookup"/>
<element name="TRxDBGrid.OnDisplayLookup"/>
<element name="TRxColumn">
<short>Этот клас представляет собой колонку в RxDBGrid</short>
</element>
<element name="TRxColumn.Create">
<short>Конструктор constructor TRxColumn.Create(ACollection: TCollection);</short>
<descr>Конструктор constructor <b>TRxColumn.Create(ACollection: TCollection);</b>
Создаёт класс столбца и заполняет начальные значения</descr>
</element>
<element name="TRxColumn.Destroy"/>
<element name="TRxColumn.aOptimizeWidth"/>
<element name="TRxColumn.aFooter"/>
<element name="TRxColumn.aImageList"/>
<element name="TRxColumn.aKeyList"/>
<element name="TRxColumn.NotInKeyListIndex"/>
<element name="TRxColumn.aFilter"/>
<element name="TRxQuickSearchNotifyEvent">
<short>Тип описывает событие, возникающее во время операции быстрого поиска данных в спике</short>
<descr>Тип описывает событие, возникающее во время операции быстрого поиска данных в спике</descr>
<seealso>
<link id="TRxDBGrid.AfterQuickSearch"/>
<link id="TRxDBGrid.BeforeQuickSearch"/>
</seealso>
</element>
<element name="TSortMarker">
<short>Маркер направления сортировки</short>
<descr>
<p>Маркер направления сортировки.</p>
<p>Определяет отображение маркера сортировки в заголовке столбца RxDBGrid-а.</p>
<table>
<th>
<td>Параметр</td>
<td>Описание</td>
</th>
<tr>
<td>smNone</td>
<td>Не отображать маркер</td>
</tr>
<tr>
<td>smDown</td>
<td>Отображать маркер "Вниз" - прямая сортировка</td>
</tr>
<tr>
<td>smUp</td>
<td>Отображать маркер "Вверх" - обратная сортировка</td>
</tr>
</table>
</descr>
<seealso>
<link id="TGetBtnParamsEvent"/>
<link id="TRxDBGrid.OnGetBtnParams"/>
</seealso>
</element>
<element name="TGetBtnParamsEvent">
<short>Данный тип описывает событие при отображении в списке заголовка колонки</short>
<descr>
<p>Данный тип описывает событие при отображении в списке заголовка колонки</p>
<table>
<th>
<td>Параметр</td>
<td>Тип</td>
<td>Описание</td>
</th>
<tr>
<td>Sender: TObject</td>
<td>Вх.</td>
<td>Указывает на экземпляр объекта <link id="TRxDBGrid">RxDBGrid</link>
</td>
</tr>
<tr>
<td>Field: TField</td>
<td>Вх.</td>
<td>Определяет колонку, для которой необходимо определить параметры</td>
</tr>
<tr>
<td>AFont: TFont</td>
<td>Вх.</td>
<td>С помощью данного объекта можно указать параметры шрифта заголовка</td>
</tr>
<tr>
<td>Background: TColor</td>
<td>Вых.</td>
<td>Можно указать цвет фона заголовка колонки</td>
</tr>
<tr>
<td>SortMarker: TSortMarker</td>
<td>Вых.</td>
<td>Можно указать <link id="TSortMarker">тип маркера сортировки</link>
</td>
</tr>
<tr>
<td>IsDown: Boolean</td>
<td>Вх.</td>
<td>Определяет, был ли клик мышкой по данному заголовку</td>
</tr>
</table>
</descr>
</element>
<element name="TGetCellPropsEvent">
<short>Данный тип описывает событие получения параметров ячейки в RxDBGrid-е</short>
<descr>
<p>Данный тип описывает событие получения параметров ячейки в <link id="TRxDBGrid">RxDBGrid</link>-е</p>
<table>
<th>
<td>Параметр</td>
<td>Тип параметра</td>
<td>Описание</td>
</th>
<tr>
<td>Sender: TObject</td>
<td>вх.</td>
<td>Указывает на экземпляр объекта <link id="TRxDBGrid">RxDBGrid</link>
</td>
</tr>
<tr>
<td>Field: TField</td>
<td>вх.</td>
<td>Определяет колонку, для которой произошло событие</td>
</tr>
<tr>
<td>AFont: TFont</td>
<td>вх.</td>
<td>С помощью данного объекта можно указать параметры шрифта ячейки</td>
</tr>
<tr>
<td>Background: TColor</td>
<td>вых.</td>
<td>Можно указать цвет фона ячейки</td>
</tr>
</table>
</descr>
<seealso>
<link id="TRxDBGrid.OnGetCellProps"/>
</seealso>
</element>
<element name="TRxDBGridAllowedOperation">
<short>Параметры изменения данных в RxDBGrid</short>
<descr>
<p>Флаги, определяющие параметры изменения данных в <link id="TRxDBGrid">RxDBGrid</link>
</p>
<table>
<th>
<td>Параметр</td>
<td>Описание</td>
</th>
<tr>
<td>aoInsert</td>
<td>Доступна вставка строки данных в <link id="TRxDBGrid">RxDBGrid</link>
</td>
</tr>
<tr>
<td>aoUpdate</td>
<td>Доступна изменение данных в строке <link id="TRxDBGrid">RxDBGrid</link>
</td>
</tr>
<tr>
<td>aoDelete</td>
<td>Доступно удаление строки данных из <link id="TRxDBGrid">RxDBGrid</link>
</td>
</tr>
<tr>
<td>aoAppend</td>
<td>Доступно добавление строки данных в конец списка в <link id="TRxDBGrid">RxDBGrid</link>
</td>
</tr>
</table>
</descr>
</element>
<element name="TRxDBGridAllowedOperations">
<short>Набор флагов, определяющие поведение при редактировании/добавлении или удалении данных в RxDBGrid</short>
<descr>
<p>Набор <link id="TRxDBGridAllowedOperation">флагов</link>, определяющие поведение при редактировании/добавлении или удалении данных в
<link id="TRxDBGrid">RxDBGrid</link>
</p>
</descr>
</element>
<element name="TFooterValueType">
<short>Определяем тип занчения, автоматически расчитываемого в итоговой строке</short>
<descr>
<p>Определяем тип занчения, автоматически расчитываемого в итоговой строке</p>
<table>
<th>
<td>Параметр</td>
<td>Значение</td>
</th>
<tr>
<td>fvtNon</td>
<td>По умолчанию, ничего не отображаем</td>
</tr>
<tr>
<td>fvtSum</td>
<td>Отображается сумма по указанной колонке</td>
</tr>
<tr>
<td>fvtAvg</td>
<td>Расчитывается среднее значение по указанной колонке</td>
</tr>
<tr>
<td>fvtCount</td>
<td>Отображается общее количество строк в списке</td>
</tr>
<tr>
<td>fvtFieldValue</td>
<td>Отображается значение указанной колонки</td>
</tr>
<tr>
<td>fvtStaticText</td>
<td>Отображается текст из поля <link id="TRxColumnFooter.Value">Value</link>
</td>
</tr>
<tr>
<td>fvtMin</td>
<td>Отображается минимальное значние указанного в свойстве <link id="TRxColumnFooter.FieldName">FieldName</link>поля</td>
</tr>
<tr>
<td>fvtMax</td>
<td>Отображается максимальное значние указанного в свойстве <link id="TRxColumnFooter.FieldName">FieldName</link>поля</td>
</tr>
<tr>
<td>fvtRecNo</td>
<td>Отображается номер текущей записи из списка</td>
</tr>
</table>
</descr>
<seealso>
<link id="TRxColumnFooter.ValueType"/>
<link id="TRxColumnFooter.FieldName"/>
</seealso>
</element>
<element name="TOptionRx">
<short>Набор флагов, управляющих поведением RxDBGrid</short>
<descr>
<p>Набор флагов, управляющих поведением <link id="TRxDBGrid">RxDBGrid</link>
</p>
<table>
<th>
<td>Параметр</td>
<td>Описание</td>
</th>
<tr>
<td>rdgAllowColumnsForm</td>
<td>Разрешает вызов формы управления отображением и порядком расположения колонок в <link id="TRxDBGrid">RxDBGrid</link>-е</td>
</tr>
<tr>
<td>rdgAllowDialogFind</td>
<td>Разрешает вызов формы поиска данных в <link id="TRxDBGrid">RxDBGrid</link>-е</td>
</tr>
<tr>
<td>rdgHighlightFocusCol</td>
<td>Подсвечивать текущую колонку</td>
</tr>
<tr>
<td>rdgHighlightFocusRow</td>
<td>Подсвечивать текущую строку</td>
</tr>
<tr>
<td>rdgDblClickOptimizeColWidth</td>
<td>При двойном щелчке по разделителю между колонками в <link id="TRxDBGrid">RxDBGrid</link>-е автоматически подбирать размер колонки по ширине отображаемых данных</td>
</tr>
<tr>
<td>rdgFooterRows</td>
<td>Отображать итоговую строку (подвал) спика</td>
</tr>
<tr>
<td>rdgXORColSizing</td>
<td>При изменении размера колонки отображать только будущую границу колонки, саму колонку при этом не менять. В противном случае при изменении размера ширина колонки меняется сразу. Параметр полезен для медленных компьютеров или терминального режима</td>
</tr>
<tr>
<td>rdgFilter</td>
<td>Разрешить локальную фильтрацию данных</td>
</tr>
<tr>
<td>rdgMultiTitleLines</td>
<td>Разрешить объединение заголовков колонок</td>
</tr>
<tr>
<td>rdgMrOkOnDblClik</td>
<td>При двойном щелчке мышки генерировать для формы-владельца грида событие mrOk - полезно при создании формы выбора из списка</td>
</tr>
<tr>
<td>rdgAllowQuickSearch</td>
<td>Разрешить быстрыый поиск в гриде - в этом режиме нажатие клавиш включет механизм встроенного поиска по текущей колонке, прямое редактирование в списке будет запрещено. </td>
</tr>
<tr>
<td>rdgAllowQuickFilter</td>
<td>Разрешить быструю фильтрацию в колонках - в заголовке списка будет доступна по нажатию клавиши <b>Ctrl+E</b> дополнительная строка, содержащая ComboBox-ы со значениями колонок. Аналогично сортировки в электронных таблицах.</td>
</tr>
<tr>
<td>rdgAllowFilterForm</td>
<td>Разрешает к использованию форму фильтрации в <link id="TRxDBGrid">RxDBGrid</link>-е</td>
</tr>
<tr>
<td>rdgAllowSortForm</td>
<td>Разрешает к использованию формы сортировки данных в <link id="TRxDBGrid">RxDBGrid</link>-е</td>
</tr>
<tr>
<td>rdgAllowToolMenu</td>
<td>Включает отображение меню инструментов в <link id="TRxDBGrid">RxDBGrid</link>-е. При активации данного параметра в верхнем левом углу грида отрисовывается специальный значок и при его нажатии мышкой выдаётся меню иснтрументов</td>
</tr>
<tr>
<td>rdgCaseInsensitiveSort</td>
<td>Параметр включает режим сортировки без учёта регистра символов в столбце <link id="TRxDBGrid">RxDBGrid</link>-а</td>
</tr>
<tr>
<td>rdgWordWrap</td>
<td>Разрешить использование TRxColumn.WordWrap для переноса строк</td>
</tr>
<tr>
<td>rdgWordWrapTitles</td>
<td>Перенос строк в заголовках</td>
</tr>
</table>
</descr>
</element>
<element name="TOptionsRx">
<short>Набор флагов, управлюящих поведением RxDBGrid-а</short>
<descr>
<p>
<link id="TOptionRx">Набор флагов</link>, управлюящих поведением
<link id="TRxDBGrid">RxDBGrid</link>-а.</p>
</descr>
<seealso>
<link id="TOptionRx"/>
<link id="TRxDBGrid.OptionsRx"/>
</seealso>
</element>
<element name="TRxSortEngineOption">
<short>Параметры сортировки данных</short>
<descr>
<p>Параметры сортировки данных</p>
<table>
<th>
<td>Параметр</td>
<td>Описание</td>
</th>
<tr>
<td>seoCaseInsensitiveSort</td>
<td>При сортировке данных не учитывать регистр</td>
</tr>
</table>
</descr>
<seealso>
<link id="TRxSortEngineOptions"/>
<link id="TRxDBGridSortEngine.Sort"/>
</seealso>
</element>
<element name="TRxSortEngineOptions">
<short>Парамерты сортировки</short>
<descr>Парамерты сортировки, набор <link id="TRxSortEngineOption">флагов</link>.</descr>
<seealso>
<link id="TRxDBGridSortEngine.Sort"/>
</seealso>
</element>
<element name="TRxDBGridSortEngineClass">
<short>Мета-класс сортировщика данных</short>
<descr>Мета-класс сортировщика данных, используется непосредственно при регистрации экземпляра класса (наследника от <link id="TRxDBGridSortEngine">TRxDBGridSortEngine</link>) сортировщика данных.</descr>
<seealso>
<link id="RegisterRxDBGridSortEngine"/>
<link id="TRxDBGridSortEngine"/>
</seealso>
</element>
<element name="TMLCaptionItem">
<short>Элемент многострочного заголовка</short>
<descr>Элемент многострочного заголовка</descr>
</element>
<element name="TRxDbGridColumns"/>
<element name="TRxDbGridColumns.Add"/>
<element name="TFilterListCellEditor"/>
<element name="TFilterListCellEditor.Show"/>
<element name="TFilterListCellEditor.Grid"/>
<element name="TFilterListCellEditor.Col"/>
<element name="TFilterListCellEditor.MouseFlag"/>
<element name="RegisterRxDBGridSortEngine">
<short>Регистрируем класс сортировщика в наборе данных</short>
<descr>
<p>RxDBGridSortEngineClass:TRxDBGridSortEngineClass - класс сортировщика</p>
<p>DataSetClass:TDataSetClass -</p>
</descr>
</element>
<element name="TCreateLookup">
<short>Тип описывает событие, возникающее в момент полчения данных в лукпный редактор значения ячейки</short>
<descr>Тип описывает событие, возникающее в момент полчения данных в лукпный редактор значения ячейки</descr>
</element>
<element name="TDisplayLookup">
<short>Тип описывает событие, возникающее в момент показа выпадающего списка лукапного редактора значения ячейки</short>
<descr>Тип описывает событие, возникающее в момент показа выпадающего списка лукапного редактора значения ячейки</descr>
</element>
<element name="TRxDBGrid.KeyStrokes">
<short>Определяет сочетания для вызова фукнций RxDBGrid</short>
<descr>Определяет сочетания для вызова фукнций RxDBGrid</descr>
</element>
<element name="TRxDBGridKeyStrokes">
<short>Список назначенных клавиш на команды в TRxDBGrid</short>
</element>
<element name="TRxDBGridKeyStrokes.Create"/>
<element name="TRxDBGridKeyStrokes.Add"/>
<element name="TRxDBGridKeyStrokes.AddE"/>
<element name="TRxDBGridKeyStrokes.ResetDefaults"/>
<element name="TRxDBGridKeyStrokes.FindRxCommand"/>
<element name="TRxDBGridKeyStrokes.FindRxKeyStrokes"/>
<element name="TRxDBGridKeyStrokes.Items">
<short>Список назначенных команд на сочетания клавишь</short>
</element>
<element name="TRxDBGridKeyStroke"/>
<element name="TRxDBGridKeyStroke.Command">
<short>Определяем команду</short>
</element>
<element name="TRxDBGridKeyStroke.ShortCut">
<short>Определят сочетание клавишь</short>
</element>
<element name="TRxDBGridKeyStroke.Enabled">
<short>Признак запрета данного сочетания клавишь</short>
</element>
</module>
<module name="rxdbgrid_findunit"/>
<module name="rxdbgrid_columsunit"/>
<module name="RxSystemServices">
<element name="TRxServiceType"/>
<element name="TRxServiceStatus"/>
<element name="TRxServiceState"/>
<element name="TRxServiceItem"/>
<element name="TRxSystemServices">
<short>Компонента получает состояние служб на указанном компьютере</short>
</element>
<element name="TRxSystemServices.Create"/>
<element name="TRxSystemServices.Destroy"/>
<element name="TRxSystemServices.Items">
<short>Массив содержит список служб, работающих в системе</short>
</element>
<element name="TRxSystemServices.ItemCount">
<short>Количество эелементов в массиве Items</short>
</element>
<element name="TRxSystemServices.ServerName">
<short>Имя компьютера, на котором опрашиваются службы</short>
</element>
<element name="TRxSystemServices.ServiceType">
<short>Фильтр отбора служб по типу (служба/драйвер)</short>
</element>
<element name="TRxSystemServices.ServiceStatus">
<short>Фильтр отбора служб по статусу работает/остановлена</short>
</element>
<short>Модуль содержит компоненту TRxSystemServices</short>
<descr>Модуль RxSystemServices предназначен для получения информации о состоянии работающих в системе служб (windows) / демонов (unix-like)
Cодержит компоненту <link id="TRxSystemServices">TRxSystemServices</link>.</descr>
</module>
</package>
<package name="rxdbgrid_export_spreadsheet">
<module name="rxdbgridexportspreadsheet">
<topic name="TRxDBGridExportSpreadSheetOption"/>
<element name="TRxDBGridExportSpreadSheetOption">
<short>Параметры экспорта в электрунную таблицу</short>
</element>
<element name="TRxDBGridExportSpreadSheetOptions">
<short>Параметры экспорта в электрунную таблицу</short>
</element>
<element name="TRxDBGridExportSpreadSheet"/>
<element name="TRxDBGridExportSpreadSheet.Create"/>
<element name="TRxDBGridExportSpreadSheet.FileName"/>
<element name="TRxDBGridExportSpreadSheet.PageName"/>
<element name="TRxDBGridExportSpreadSheet.OpenAfterExport"/>
<short>Модуль rxdbgridexportspreadsheet содержит класс для экспорта данных из TRxDBGrid в электронную таблицу</short>
<descr>Модуль rxdbgridexportspreadsheet содержит класс для экспорта данных из TRxDBGrid в электронную таблицу</descr>
<element name="TRxDBGridExportSpreadSheet.Options">
<short>Параметры экспорта в электрунную таблицу</short>
<seealso>
<link id=""/>
</seealso>
</element>
</module>
<module name="rxdbgridexportspreadsheet_paramsunit">
<topic name="TRxDBGridExportSpreadSheet_ParamsForm"/>
<element name="TRxDBGridExportSpreadSheet_ParamsForm"/>
<short>Модуль rxdbgridexportspreadsheet_paramsunit содержит окно формы параметров экспорта данных из TRxDBGrid в электронную таблицу</short>
<descr>Модуль rxdbgridexportspreadsheet_paramsunit содержит окно формы параметров экспорта данных из TRxDBGrid в электронную таблицу</descr>
</module>
</package>
</fpdoc-descriptions>

View File

@@ -0,0 +1,182 @@
unit rx_ext_test_case_1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, fpcunit, testutils, testregistry, rxmemds, Dialogs;
type
{ TTCRxMemDataLifecycle }
TTCRxMemDataLifecycle= class(TTestCase)
protected
procedure SetUp; override;
procedure TearDown; override;
published
procedure TestHookUp;
procedure TestSave;
end;
implementation
uses
db, ex_rx_datapacket;
procedure TTCRxMemDataLifecycle.TestHookUp;
var
ads : TRxMemoryData;
aField : TField;
i : integer;
begin
ads := TRxMemoryData.Create(nil);
aField := TIntegerField.Create(nil);
aField.FieldName:= 'IntegerField1';
aField.Name := 'adsIntegerField1';
aField.DataSet := ads;
aField := TStringField.Create(nil);
aField.FieldName:= 'StringField1';
aField.Name := 'adsStringField1';
aField.Size := 20;
aField.DataSet := ads;
aField := TFloatField.Create(nil);
aField.FieldName:= 'FloatField1';
aField.Name := 'adsFloatField1';
aField.DataSet := ads;
ads.Open;
for i := 0 to 500 do
begin
ads.AppendRecord([i,'Name '+ IntToStr(i), 200 + (i*0.1)]);
end;
ads.First;
i:= 0;
while not ads.EOF do
begin
AssertTrue('Integer is incorrect ' + IntToStr(i), ads.FieldByName('IntegerField1').AsInteger = i);
AssertTrue('Float is incorrect ' + IntToStr(i), ads.FieldByName('FloatField1').AsFloat - (200 + (i*0.1)) < 0.01);
AssertTrue('String is incorrect ' + IntToStr(i), ads.FieldByName('StringField1').AsString = 'Name '+ IntToStr(i));
inc(i);
ads.Next;
end;
end;
procedure TTCRxMemDataLifecycle.TestSave;
var
ads1,ads2 : TRxMemoryData;
aField : TField;
i : integer;
sMemoTest : String;
begin
ads1 := TRxMemoryData.Create(nil);
ads2 := TRxMemoryData.Create(nil);
aField := TIntegerField.Create(nil);
aField.FieldName:= 'IntegerField1';
aField.Name := 'adsIntegerField1';
aField.DataSet := ads1;
aField := TStringField.Create(nil);
aField.FieldName:= 'StringField1';
aField.Name := 'adsStringField1';
aField.Size := 20;
aField.DataSet := ads1;
aField := TFloatField.Create(nil);
aField.FieldName:= 'FloatField1';
aField.Name := 'adsFloatField1';
aField.DataSet := ads1;
// TBooleanField
aField := TBooleanField.Create(nil);
aField.FieldName:= 'BooleanField1';
aField.Name := 'adsBooleanField1';
aField.DataSet := ads1;
// TDateTimeField
aField := TDateTimeField.Create(nil);
aField.FieldName:= 'DateTimeField1';
aField.Name := 'adsDateTimeField1';
aField.DataSet := ads1;
// TMemoField
aField := TMemoField.Create(nil);
aField.FieldName:= 'MemoField1';
aField.Name := 'adsMemoField1';
aField.Size:= 600;
aField.DataSet := ads1;
// TCurrencyField
aField := TCurrencyField.Create(nil);
aField.FieldName:= 'CurrencyField1';
aField.Name := 'adsCurrencyField1';
aField.DataSet := ads1;
ads1.Open;
ads2.Open;
sMemoTest := 'memo1';
for i := 0 to 500 do
begin
ads1.AppendRecord([i,'Name '+ IntToStr(i), 200 + (i*0.1),(i div 2) = 1, EncodeDate(2011,10,03) + i, sMemoTest, 1000 + (i*0.1)]);
sMemoTest := sMemoTest + 'a';
end;
ads1.SaveToFile('/tmp/testfile.xml',dfXML);
ads2.LoadFromFile('/tmp/testfile.xml',dfXML);
ads2.First;
sMemoTest := 'memo1';
i:= 0;
while not ads2.EOF do
begin
AssertTrue('Integer is incorrect ' + IntToStr(i), ads2.FieldByName('IntegerField1').AsInteger = i);
AssertTrue('Float is incorrect ' + IntToStr(i), ads2.FieldByName('FloatField1').AsFloat - (200 + (i*0.1)) < 0.01);
AssertTrue('String is incorrect ' + IntToStr(i), ads2.FieldByName('StringField1').AsString = 'Name '+ IntToStr(i));
AssertTrue('Currency is incorrect ' + IntToStr(i), ads2.FieldByName('CurrencyField1').AsFloat - (1000 + (i*0.1)) < 0.01);
AssertTrue('DateTime is incorrect ' + IntToStr(i), ads2.FieldByName('DateTimeField1').AsDateTime = EncodeDate(2011,10,03) + i);
AssertTrue('Memo is incorrect ' + IntToStr(i) + ads2.FieldByName('MemoField1').AsString, StrComp(Pchar(ads2.FieldByName('MemoField1').asString),Pchar(sMemoTest)) = 0);
sMemoTest := sMemoTest + 'a';
inc(i);
ads2.Next;
end;
ads1.Free;
ads2.Free;
end;
procedure TTCRxMemDataLifecycle.SetUp;
begin
end;
procedure TTCRxMemDataLifecycle.TearDown;
begin
end;
initialization
RegisterTest(TTCRxMemDataLifecycle);
end.

View File

@@ -0,0 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<Package Version="4">
<Name Value="rxtools"/>
<Type Value="RunAndDesignTime"/>
<Author Value="Lagunov Aleksey "/>
<CompilerOptions>
<Version Value="11"/>
<SearchPaths>
<OtherUnitFiles Value="rxtools"/>
<UnitOutputDirectory Value="lib/rxtools/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
</CompilerOptions>
<Description Value="
"/>
<License Value="LGPL"/>
<Version Minor="3" Build="6"/>
<Files Count="9">
<Item1>
<Filename Value="rxtools/rxcrc.pas"/>
<UnitName Value="rxCRC"/>
</Item1>
<Item2>
<Filename Value="rxtools/rxconfigvalues.pas"/>
<UnitName Value="rxConfigValues"/>
</Item2>
<Item3>
<HasRegisterProc Value="True"/>
</Item3>
<Item4>
<Filename Value="rxtools/rxconst.pas"/>
<UnitName Value="rxconst"/>
</Item4>
<Item5>
<Filename Value="rxtools/rxdateutil.pas"/>
<UnitName Value="rxdateutil"/>
</Item5>
<Item6>
<Filename Value="rxtools/rxdconst.pas"/>
<UnitName Value="rxdconst"/>
</Item6>
<Item7>
<Filename Value="rxtools/rxfileutils.pas"/>
<UnitName Value="rxFileUtils"/>
</Item7>
<Item8>
<Filename Value="rxtools/rxstrutils.pas"/>
<UnitName Value="rxstrutils"/>
</Item8>
<Item9>
<Filename Value="rxtools/rxutils.pas"/>
<UnitName Value="rxutils"/>
</Item9>
</Files>
<LazDoc Paths="docs;/usr/local/share/lazarus/components/rxnew/docs"/>
<i18n>
<EnableI18N Value="True"/>
<OutDir Value="languages"/>
<EnableI18NForLFM Value="True"/>
</i18n>
<RequiredPkgs Count="1">
<Item1>
<PackageName Value="FCL"/>
</Item1>
</RequiredPkgs>
<UsageOptions>
<UnitPath Value="$(PkgOutDir)"/>
</UsageOptions>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
</Package>
</CONFIG>

View File

@@ -0,0 +1,35 @@
/* XPM */
static char *TFolderLister[]={
"24 24 8 1",
". c None",
"a c #000000",
"c c #808080",
"# c #848484",
"f c #c0c0c0",
"e c #c6c6c6",
"b c #ffff00",
"d c #ffffff",
"....#a#.................",
".#a#aba#a#..............",
".ab#aba#ba...ccc........",
".##bbbbb##..cdddcc......",
"#aab#a#baa#cddddddcc....",
"abbbadabbbaddddddddda...",
"#aab#a#baa#dddddddda....",
"a##bbbbb##addddddda.....",
"eab#aba#baeddddddadcc...",
".#a#aba#a#dddddddaddda..",
"....#a#dddddddddaddda...",
"....cdfbaaddddddadda....",
"....cdbfbfaadddadda.....",
"....cdfbfcddaadadda.....",
"...cccccccccccccdaa.....",
"...cddddddddddcadaa.....",
"...cdfbfbfbfbfbacca.....",
"....cdfbfbfbfbfcaca.....",
"....cdbfbfbfbfbfaca.....",
".....cdbfbfbfbfbcaa.....",
".....ccccccccccccaa.....",
"......aaaaaaaaaaaaa.....",
"........................",
"........................"};

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

View File

@@ -0,0 +1,398 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:osb="http://www.openswatchbook.org/uri/2009/osb"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="36"
height="36"
viewBox="0 0 36 36"
id="svg4225"
version="1.1"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="tdblookupcombo_rx_150.svg"
inkscape:export-filename="D:\temp\rx\work\tdblookupcombo_rx_150.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96">
<defs
id="defs4227">
<linearGradient
osb:paint="solid"
id="linearGradient826">
<stop
id="stop824"
offset="0"
style="stop-color:#e6e6e6;stop-opacity:1;" />
</linearGradient>
<linearGradient
gradientUnits="userSpaceOnUse"
y2="1035.3622"
x2="12"
y1="1035.3622"
x1="3"
id="linearGradient908"
xlink:href="#linearGradient914"
inkscape:collect="always"
gradientTransform="matrix(2.6666667,0,0,2.6666667,-34.932291,-1737.1066)" />
<linearGradient
inkscape:collect="always"
id="linearGradient914">
<stop
style="stop-color:#4276c4;stop-opacity:1;"
offset="0"
id="stop910" />
<stop
id="stop916"
offset="0.34375"
style="stop-color:#80b3ff;stop-opacity:1" />
<stop
style="stop-color:#0044aa;stop-opacity:1"
offset="1"
id="stop912" />
</linearGradient>
<linearGradient
y2="1035.3622"
x2="12"
y1="1035.3622"
x1="3"
gradientTransform="matrix(2.6666667,0,0,2.6666667,-34.932291,-1753.1063)"
gradientUnits="userSpaceOnUse"
id="linearGradient936"
xlink:href="#linearGradient914"
inkscape:collect="always" />
<linearGradient
gradientTransform="matrix(2.6666667,0,0,2.6666667,-34.932291,-1745.1066)"
y2="1035.3622"
x2="12"
y1="1035.3622"
x1="3"
gradientUnits="userSpaceOnUse"
id="linearGradient932"
xlink:href="#linearGradient914"
inkscape:collect="always" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient914"
id="linearGradient876"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2.6666667,0,0,2.6666667,-34.932291,-1737.1066)"
x1="3"
y1="1035.3622"
x2="12"
y2="1035.3622" />
<pattern
y="0"
x="0"
height="6"
width="6"
patternUnits="userSpaceOnUse"
id="EMFhbasepattern" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="10.604167"
inkscape:cx="8.251474"
inkscape:cy="24"
inkscape:document-units="px"
inkscape:current-layer="layer3"
showgrid="true"
inkscape:snap-bbox="true"
inkscape:bbox-paths="true"
inkscape:bbox-nodes="true"
inkscape:snap-bbox-edge-midpoints="true"
inkscape:snap-bbox-midpoints="true"
inkscape:object-paths="true"
inkscape:snap-intersection-paths="true"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-midpoints="true"
inkscape:snap-object-midpoints="true"
inkscape:snap-center="true"
units="px"
inkscape:window-width="1920"
inkscape:window-height="1018"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid4241" />
</sodipodi:namedview>
<metadata
id="metadata4230">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer6"
inkscape:label="base"
transform="translate(0,-12)">
<rect
style="fill:none;fill-rule:evenodd;stroke-width:1.94665694"
id="rect208"
width="36"
height="36"
x="0"
y="12" />
</g>
<g
inkscape:label="db"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1016.3622)"
style="display:inline">
<g
id="g899"
transform="matrix(0.75,0,0,0.75,26.199218,262.46782)">
<ellipse
ry="3"
rx="10"
cy="1030.1925"
cx="-20.919643"
id="ellipse880"
style="opacity:1;fill:#bdd1ec;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient876);stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<ellipse
ry="3.9169633"
rx="10.988618"
cy="1026.2755"
cx="-20.919643"
id="ellipse878"
style="opacity:1;fill:#bdd1ec;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<ellipse
style="opacity:1;fill:#bdd1ec;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient932);stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
id="ellipse930"
cx="-20.919643"
cy="1024.1925"
rx="10"
ry="3" />
<ellipse
style="opacity:1;fill:#bdd1ec;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
id="ellipse874"
cx="-20.919643"
cy="1020.2756"
rx="10.988618"
ry="3.9169633" />
<ellipse
ry="3"
rx="10"
cy="1018.1926"
cx="-20.919643"
id="ellipse934"
style="opacity:1;fill:#bdd1ec;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient936);stroke-width:3.99999976;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<ellipse
ry="3.9169633"
rx="10.988618"
cy="1014.2756"
cx="-20.919643"
id="ellipse858"
style="opacity:1;fill:#bdd1ec;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<ellipse
style="opacity:1;fill:#80b3ff;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient908);stroke-width:1.99999988;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
id="ellipse868"
cx="-20.919643"
cy="1012.1926"
rx="11"
ry="4" />
</g>
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846"
transform="matrix(0.75,0,0,0.75,-74.87452,244.8867)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-8"
transform="matrix(0.75,0,0,0.75,-94.388377,241.35764)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-2"
transform="matrix(0.75,0,0,0.75,-107.40621,246.95962)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-8-8"
transform="matrix(0.75,0,0,0.75,-126.92006,243.43057)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-6"
transform="matrix(0.75,0,0,0.75,-87.347797,247.35376)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-8-1"
transform="matrix(0.75,0,0,0.75,-106.86165,243.8247)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-4"
transform="matrix(0.75,0,0,0.75,-101.39167,240.12115)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-8-4"
transform="matrix(0.75,0,0,0.75,-120.90554,236.5921)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-5"
transform="matrix(0.75,0,0,0.75,-143.41564,237.57115)" />
<g
aria-label="7"
style="font-style:normal;font-weight:normal;font-size:10.66666698px;line-height:25px;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text846-8-2"
transform="matrix(0.75,0,0,0.75,-162.9295,234.0421)" />
</g>
<g
inkscape:groupmode="layer"
id="layer5"
inkscape:label="arrow"
transform="translate(0,-12)">
<g
transform="matrix(0.75,0,0,0.75,0.72588814,-740.49923)"
style="display:inline"
id="g141">
<g
id="g1038"
transform="translate(10.500075,-12.4903)"
style="fill:#a02c2c;stroke:#a02c2c;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none">
<path
style="fill:#a02c2c;fill-rule:evenodd;stroke:#a02c2c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 27.5,1018.8622 6,6"
id="path1032"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1034"
d="m 27.499925,1018.8525 3.000075,0.01"
style="fill:#a02c2c;fill-rule:evenodd;stroke:#a02c2c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:#a02c2c;fill-rule:evenodd;stroke:#a02c2c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 27.499925,1018.8525 7.5e-5,3.0097"
id="path1036"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
<g
id="g1046"
transform="rotate(-180,33.25,1017.6122)"
style="fill:#a02c2c;stroke:#a02c2c;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1040"
d="m 27.5,1018.8622 6,6"
style="fill:#a02c2c;fill-rule:evenodd;stroke:#a02c2c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:#a02c2c;fill-rule:evenodd;stroke:#a02c2c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 27.499925,1018.8525 3.000075,0.01"
id="path1042"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1044"
d="m 27.499925,1018.8525 7.5e-5,3.0097"
style="fill:#a02c2c;fill-rule:evenodd;stroke:#a02c2c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
<g
inkscape:groupmode="layer"
id="layer4"
inkscape:label="lookup"
transform="translate(0,-12)">
<rect
y="24.749941"
x="27.749996"
height="6.0000257"
width="6"
id="rect891"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#4d4d4d;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#4d4d4d;stroke-width:1.49999988;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
id="rect893"
width="15"
height="6.0000267"
x="12.75"
y="24.749941" />
<rect
y="30.749987"
x="12.75"
height="15.000026"
width="21"
id="rect895"
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#4d4d4d;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
<path
inkscape:connector-curvature="0"
id="path897"
d="M 15.75,41.910121 H 30.750002"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.49999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path899"
d="m 15.75,38.061394 h 13.5"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.49999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path901"
d="m 15.75,34.118364 h 15"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.49999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.49999976px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 14.999997,27.749925 h 10.5"
id="path903"
inkscape:connector-curvature="0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 29.266622,26.795645 1.482972,1.722473 1.483856,-1.722473"
id="path920"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
</g>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="text"
transform="translate(0,-12)">
<flowRoot
xml:space="preserve"
id="flowRoot914-8"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:1.25;font-family:'Arial Unicode MS';-inkscape-font-specification:'Arial Unicode MS';letter-spacing:0px;word-spacing:0px;fill:#c500ab;fill-opacity:1;stroke:#ffffff;stroke-width:2.96764684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
transform="matrix(0.69531428,0,0,0.82672154,-2.2079422,11.788973)"><flowRegion
id="flowRegion916-5"
style="fill:#c500ab;fill-opacity:1;stroke:#ffffff;stroke-width:2.96764684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"><rect
id="rect918-0"
width="38.14209"
height="34.674625"
x="3.4674628"
y="-1.8781176"
style="fill:#c500ab;fill-opacity:1;stroke:#ffffff;stroke-width:2.96764684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" /></flowRegion><flowPara
id="flowPara920-2"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:21.33333397px;font-family:Arial;-inkscape-font-specification:'Arial Bold';stroke:#ffffff;stroke-width:2.96764684;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill">Rx</flowPara></flowRoot> </g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB