diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.ico b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.ico
new file mode 100644
index 000000000..0341321b5
Binary files /dev/null and b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.ico differ
diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lpi b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lpi
new file mode 100644
index 000000000..edbcd2541
--- /dev/null
+++ b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lpi
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lpr b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lpr
new file mode 100644
index 000000000..a567dbab1
--- /dev/null
+++ b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lpr
@@ -0,0 +1,23 @@
+program project1;
+
+{$mode objfpc}{$H+}
+
+uses
+ {$IFDEF UNIX}{$IFDEF UseCThreads}
+ cthreads,
+ {$ENDIF}{$ENDIF}
+ Interfaces, // this includes the LCL widgetset
+ Forms, Unit1, rxnew
+ { you can add units after this };
+
+{$R *.res}
+
+begin
+ Application.Title:='RxMessageBeep demo';
+ RequireDerivedFormResource:=True;
+ Application.Scaled:=True;
+ Application.Initialize;
+ Application.CreateForm(TForm1, Form1);
+ Application.Run;
+end.
+
diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lps b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lps
new file mode 100644
index 000000000..9c25288b4
--- /dev/null
+++ b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.lps
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.res b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.res
new file mode 100644
index 000000000..1adb0406c
Binary files /dev/null and b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/project1.res differ
diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/unit1.lfm b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/unit1.lfm
new file mode 100644
index 000000000..b8305b1b1
--- /dev/null
+++ b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/unit1.lfm
@@ -0,0 +1,56 @@
+object Form1: TForm1
+ Left = 523
+ Height = 240
+ Top = 246
+ Width = 320
+ Caption = 'RxMessageBeep demo'
+ ClientHeight = 240
+ ClientWidth = 320
+ LCLVersion = '1.9.0.0'
+ object RadioGroup1: TRadioGroup
+ AnchorSideLeft.Control = Owner
+ AnchorSideTop.Control = Owner
+ Left = 6
+ Height = 137
+ Top = 6
+ Width = 133
+ AutoFill = True
+ AutoSize = True
+ BorderSpacing.Around = 6
+ Caption = 'Beep style'
+ ChildSizing.LeftRightSpacing = 6
+ ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
+ ChildSizing.EnlargeVertical = crsHomogenousChildResize
+ ChildSizing.ShrinkHorizontal = crsScaleChilds
+ ChildSizing.ShrinkVertical = crsScaleChilds
+ ChildSizing.Layout = cclLeftToRightThenTopToBottom
+ ChildSizing.ControlsPerLine = 1
+ ClientHeight = 119
+ ClientWidth = 129
+ ItemIndex = 0
+ Items.Strings = (
+ 'mbsBeep'
+ 'mbsIconAsterisk'
+ 'mbsIconExclamation'
+ 'mbsIconError'
+ 'mbsIconQuestion'
+ 'mbsIconWarning'
+ 'mbsOk'
+ )
+ TabOrder = 0
+ end
+ object Button1: TButton
+ AnchorSideLeft.Control = RadioGroup1
+ AnchorSideLeft.Side = asrBottom
+ AnchorSideTop.Control = RadioGroup1
+ AnchorSideTop.Side = asrCenter
+ Left = 145
+ Height = 23
+ Top = 63
+ Width = 95
+ AutoSize = True
+ Caption = 'Message beep'
+ OnClick = Button1Click
+ TabOrder = 1
+ end
+end
diff --git a/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/unit1.pas b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/unit1.pas
new file mode 100644
index 000000000..d2cff0b41
--- /dev/null
+++ b/components/rx/trunk/demos/RxAppUtils/RxMessageBeep/unit1.pas
@@ -0,0 +1,43 @@
+unit Unit1;
+
+{$mode objfpc}{$H+}
+
+interface
+
+uses
+ Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, StdCtrls;
+
+type
+
+ { TForm1 }
+
+ TForm1 = class(TForm)
+ Button1: TButton;
+ RadioGroup1: TRadioGroup;
+ procedure Button1Click(Sender: TObject);
+ private
+
+ public
+
+ end;
+
+var
+ Form1: TForm1;
+
+implementation
+uses rxAppUtils;
+
+{$R *.lfm}
+
+{ TForm1 }
+
+procedure TForm1.Button1Click(Sender: TObject);
+var
+ R: TRxMsgBeepStyle;
+begin
+ R:=TRxMsgBeepStyle(RadioGroup1.ItemIndex);
+ RxMessageBeep(R);
+end;
+
+end.
+
diff --git a/components/rx/trunk/docs/readmy.txt b/components/rx/trunk/docs/readmy.txt
index 425f63b7d..438d4e0fa 100644
--- a/components/rx/trunk/docs/readmy.txt
+++ b/components/rx/trunk/docs/readmy.txt
@@ -1,4 +1,25 @@
-1. Contributors
+1. Установка
+ Для установки библиотеки в IDE Lazarus необходимо установить пакет rxnew.lpk.
+ Для включения визуальных редакторов компонентв в IDE необходимо дополнительно установить 2 пакет:
+ - dcl_rx_ctrl.lpk - редакторы визуальных компонент
+ - dcl_rxtools.lpk - редакторы не визуальных компонент
+
+ Дополнительно устанавливаются пакеты
+ - rxdbgrid_export_spreadsheet.lpk - модуль интеграции работы с электронными таблицами и RxDBGrid
+ (выгрузка из RxDBGrid в электронную таблицу)
+ - rxdbgrid_print.lpk - включение поддержки печати содержимого RxDBGrid
+ - rx_sort_fbdataset.lpk - поддержка автоматической сортировки данных в RxDBGrid, полученных из
+ компонентов UIB/FBDataSet
+ - rx_sort_ibx.lpk - поддержка автоматической сортировки данных в RxDBGrid, полученных из
+ компонентов IBX
+ - rx_sort_sqldb.lpk - поддержка автоматической сортировки данных в RxDBGrid, полученных из
+ компонентов SQLDB
+ - rx_sort_zeos.lpk - поддержка автоматической сортировки данных в RxDBGrid, полученных из
+ компонентов ZEOS
+ - rx.lpk - допольнительные компоненты Rx
+ Автоматически устанавливаемые пакеты
+ - rxtools.lpk - доплнительные функции библиотеки RxFPC
+2. Contributors
brick08 - from freepascal.ru
rtn - from freepascal.ru
kit - from freepascal.ru
diff --git a/components/rx/trunk/images/TRxTextHolder.png b/components/rx/trunk/images/TRxTextHolder.png
index e65ad6933..d3c76a425 100644
Binary files a/components/rx/trunk/images/TRxTextHolder.png and b/components/rx/trunk/images/TRxTextHolder.png differ
diff --git a/components/rx/trunk/images/TRxTextHolder_150.png b/components/rx/trunk/images/TRxTextHolder_150.png
index eb83e1eab..d39d9b290 100644
Binary files a/components/rx/trunk/images/TRxTextHolder_150.png and b/components/rx/trunk/images/TRxTextHolder_150.png differ
diff --git a/components/rx/trunk/images/TRxTextHolder_200.png b/components/rx/trunk/images/TRxTextHolder_200.png
index 66df2da68..6b804d633 100644
Binary files a/components/rx/trunk/images/TRxTextHolder_200.png and b/components/rx/trunk/images/TRxTextHolder_200.png differ
diff --git a/components/rx/trunk/images/TStrHolder.png b/components/rx/trunk/images/TStrHolder.png
new file mode 100644
index 000000000..aa10a3bf9
Binary files /dev/null and b/components/rx/trunk/images/TStrHolder.png differ
diff --git a/components/rx/trunk/images/TStrHolder_150.png b/components/rx/trunk/images/TStrHolder_150.png
new file mode 100644
index 000000000..48ad481c3
Binary files /dev/null and b/components/rx/trunk/images/TStrHolder_150.png differ
diff --git a/components/rx/trunk/images/TStrHolder_200.png b/components/rx/trunk/images/TStrHolder_200.png
new file mode 100644
index 000000000..9ac6d10e6
Binary files /dev/null and b/components/rx/trunk/images/TStrHolder_200.png differ
diff --git a/components/rx/trunk/images/imgsrc/rxtools/trxtextholder/TRxTextHolder.svg b/components/rx/trunk/images/imgsrc/rxtools/trxtextholder/TRxTextHolder.svg
index 5be12447f..24e1247f5 100644
--- a/components/rx/trunk/images/imgsrc/rxtools/trxtextholder/TRxTextHolder.svg
+++ b/components/rx/trunk/images/imgsrc/rxtools/trxtextholder/TRxTextHolder.svg
@@ -78,11 +78,11 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="11.313709"
- inkscape:cx="12.985734"
- inkscape:cy="11.48312"
+ inkscape:zoom="30.454512"
+ inkscape:cx="12.57431"
+ inkscape:cy="7.8430303"
inkscape:document-units="px"
- inkscape:current-layer="layer7"
+ inkscape:current-layer="layer13"
showgrid="true"
units="px"
inkscape:window-width="1366"
@@ -105,7 +105,7 @@
image/svg+xml
-
+
@@ -129,14 +129,14 @@
transform="translate(0,-24)"
sodipodi:insensitive="true">
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccc" />
@@ -148,23 +148,23 @@
transform="translate(0,-24)"
sodipodi:insensitive="true">
@@ -190,7 +190,8 @@
id="layer7"
inkscape:label="paper_01"
transform="translate(0,-24)"
- style="opacity:0.98000004">
+ style="opacity:0.98000004"
+ sodipodi:insensitive="true">
+ sodipodi:insensitive="true"
+ style="display:none">
+ transform="translate(0,-24)"
+ sodipodi:insensitive="true">
@@ -283,8 +285,18 @@
inkscape:groupmode="layer"
id="layer13"
inkscape:label="arrows_matte"
- transform="translate(0,-24)"
- sodipodi:insensitive="true" />
+ transform="translate(0,-24)">
+
+
+
+ transform="matrix(0.95248768,0,0,0.9230818,1.0927856,1.4613814)">
+ transform="translate(0,-12)">
@@ -149,27 +146,27 @@
sodipodi:insensitive="true">
@@ -195,9 +192,10 @@
inkscape:groupmode="layer"
id="layer7"
inkscape:label="paper_01"
- transform="translate(0,-12)">
+ transform="translate(0,-12)"
+ sodipodi:insensitive="true">
+ transform="translate(0,-12)"
+ sodipodi:insensitive="true">
+ transform="translate(0,-12)"
+ sodipodi:insensitive="true">
@@ -291,7 +291,18 @@
inkscape:groupmode="layer"
id="layer13"
inkscape:label="arrows_matte"
- transform="translate(0,-12)" />
+ transform="translate(0,-12)">
+
+
+
+ transform="matrix(0.95248731,0,0,1.0256409,2.1391854,-1.615382)">
+ inkscape:label="list"
+ sodipodi:insensitive="true">
+ style="color:#000000;fill:#2c5aa0;stroke-width:0.65542644"
+ d="M 25,11 V 11.01563 13.275396 14 37 H 34.947266 38 39.369141 46 V 32.480469 31 16 L 41,11 29,11.0039 V 11 Z"
+ id="path1470"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccc" />
+ sodipodi:nodetypes="ccccccccc" />
+ inkscape:label="strings"
+ sodipodi:insensitive="true">
+ inkscape:label="holder_back"
+ sodipodi:insensitive="true">
+ inkscape:label="paper_01"
+ sodipodi:insensitive="true">
@@ -200,9 +206,10 @@
+ inkscape:label="paper_02"
+ sodipodi:insensitive="true">
+ inkscape:label="paper_03"
+ sodipodi:insensitive="true">
+ inkscape:label="holder_front"
+ sodipodi:insensitive="true">
+ inkscape:label="clip"
+ sodipodi:insensitive="true">
+ inkscape:label="corner 1"
+ sodipodi:insensitive="true">
@@ -271,11 +282,44 @@
+ inkscape:label="arrows_matte">
+
+
+
+
+
+
+
+ inkscape:label="arrows"
+ sodipodi:insensitive="true">
@@ -297,7 +341,7 @@
+
+
+
diff --git a/components/rx/trunk/images/imgsrc/rxtools/tstrholder/TStrHolder_150.svg b/components/rx/trunk/images/imgsrc/rxtools/tstrholder/TStrHolder_150.svg
new file mode 100644
index 000000000..e5308db0a
--- /dev/null
+++ b/components/rx/trunk/images/imgsrc/rxtools/tstrholder/TStrHolder_150.svg
@@ -0,0 +1,380 @@
+
+
+
+
diff --git a/components/rx/trunk/images/imgsrc/rxtools/tstrholder/TStrHolder_200.svg b/components/rx/trunk/images/imgsrc/rxtools/tstrholder/TStrHolder_200.svg
new file mode 100644
index 000000000..85d9d244d
--- /dev/null
+++ b/components/rx/trunk/images/imgsrc/rxtools/tstrholder/TStrHolder_200.svg
@@ -0,0 +1,368 @@
+
+
+
+
diff --git a/components/rx/trunk/images/mk_res.sh b/components/rx/trunk/images/mk_res.sh
index d1bcf4ebf..b777b4319 100755
--- a/components/rx/trunk/images/mk_res.sh
+++ b/components/rx/trunk/images/mk_res.sh
@@ -63,7 +63,8 @@ rm RxSortZeos.res
TRxSystemServices.png TRxSystemServices_150.png TRxSystemServices_200.png \
TRxVersionInfo.png TRxVersionInfo_150.png TRxVersionInfo_200.png \
TRxXMLPropStorage.png TRxXMLPropStorage_150.png TRxXMLPropStorage_200.png \
- TRxTextHolder.png TRxTextHolder_150.png TRxTextHolder_200.png
+ TRxTextHolder.png TRxTextHolder_150.png TRxTextHolder_200.png \
+ TStrHolder.png TStrHolder_150.png TStrHolder_200.png
/usr/local/share/lazarus/tools/lazres RxSortFBDataSet.res TRxSortFBDataSet.png TRxSortFBDataSet_150.png TRxSortFBDataSet_200.png
diff --git a/components/rx/trunk/images/rx.res b/components/rx/trunk/images/rx.res
index 62be7b456..328beb789 100644
Binary files a/components/rx/trunk/images/rx.res and b/components/rx/trunk/images/rx.res differ
diff --git a/components/rx/trunk/rx.res b/components/rx/trunk/rx.res
index 62be7b456..328beb789 100644
Binary files a/components/rx/trunk/rx.res and b/components/rx/trunk/rx.res differ
diff --git a/components/rx/trunk/rx_laz/strholder.pp b/components/rx/trunk/rx_laz/strholder.pp
index 59df6994c..63cf5db12 100644
--- a/components/rx/trunk/rx_laz/strholder.pp
+++ b/components/rx/trunk/rx_laz/strholder.pp
@@ -144,8 +144,6 @@ Procedure Register;
implementation
-{$R strholder.res}
-
uses
RTLConsts;
diff --git a/components/rx/trunk/rx_laz/strholder.res b/components/rx/trunk/rx_laz/strholder.res
deleted file mode 100644
index c873ea332..000000000
Binary files a/components/rx/trunk/rx_laz/strholder.res and /dev/null differ
diff --git a/components/rx/trunk/rx_laz/tstrholder.xpm b/components/rx/trunk/rx_laz/tstrholder.xpm
deleted file mode 100644
index b4978707e..000000000
--- a/components/rx/trunk/rx_laz/tstrholder.xpm
+++ /dev/null
@@ -1,286 +0,0 @@
-/* XPM */
-static char *tstrholder[] = {
-/* columns rows colors chars-per-pixel */
-"24 24 256 2",
-" c black",
-". c #800000",
-"X c #008000",
-"o c transparent",
-"O c navy",
-"+ c #800080",
-"@ c #008080",
-"# c #808080",
-"$ c #C0C0C0",
-"% c red",
-"& c green",
-"* c yellow",
-"= c blue",
-"- c magenta",
-"; c cyan",
-": c gray100",
-"> c black",
-", c black",
-"< c black",
-"1 c black",
-"2 c black",
-"3 c black",
-"4 c black",
-"5 c black",
-"6 c black",
-"7 c black",
-"8 c black",
-"9 c black",
-"0 c black",
-"q c black",
-"w c black",
-"e c black",
-"r c black",
-"t c black",
-"y c black",
-"u c black",
-"i c black",
-"p c black",
-"a c black",
-"s c black",
-"d c black",
-"f c black",
-"g c black",
-"h c black",
-"j c black",
-"k c black",
-"l c black",
-"z c black",
-"x c black",
-"c c black",
-"v c black",
-"b c black",
-"n c black",
-"m c black",
-"M c black",
-"N c black",
-"B c black",
-"V c black",
-"C c black",
-"Z c black",
-"A c black",
-"S c black",
-"D c black",
-"F c black",
-"G c black",
-"H c black",
-"J c black",
-"K c black",
-"L c black",
-"P c black",
-"I c black",
-"U c black",
-"Y c black",
-"T c black",
-"R c black",
-"E c black",
-"W c black",
-"Q c black",
-"! c black",
-"~ c black",
-"^ c black",
-"/ c black",
-"( c black",
-") c black",
-"_ c black",
-"` c black",
-"' c black",
-"] c black",
-"[ c black",
-"{ c black",
-"} c black",
-"| c black",
-" . c black",
-".. c black",
-"X. c black",
-"o. c black",
-"O. c black",
-"+. c black",
-"@. c black",
-"#. c black",
-"$. c black",
-"%. c black",
-"&. c black",
-"*. c black",
-"=. c black",
-"-. c black",
-";. c black",
-":. c black",
-">. c black",
-",. c black",
-"<. c black",
-"1. c black",
-"2. c black",
-"3. c black",
-"4. c black",
-"5. c black",
-"6. c black",
-"7. c black",
-"8. c black",
-"9. c black",
-"0. c black",
-"q. c black",
-"w. c black",
-"e. c black",
-"r. c black",
-"t. c black",
-"y. c black",
-"u. c black",
-"i. c black",
-"p. c black",
-"a. c black",
-"s. c black",
-"d. c black",
-"f. c black",
-"g. c black",
-"h. c black",
-"j. c black",
-"k. c black",
-"l. c black",
-"z. c black",
-"x. c black",
-"c. c black",
-"v. c black",
-"b. c black",
-"n. c black",
-"m. c black",
-"M. c black",
-"N. c black",
-"B. c black",
-"V. c black",
-"C. c black",
-"Z. c black",
-"A. c black",
-"S. c black",
-"D. c black",
-"F. c black",
-"G. c black",
-"H. c black",
-"J. c black",
-"K. c black",
-"L. c black",
-"P. c black",
-"I. c black",
-"U. c black",
-"Y. c black",
-"T. c black",
-"R. c black",
-"E. c black",
-"W. c black",
-"Q. c black",
-"!. c black",
-"~. c black",
-"^. c black",
-"/. c black",
-"(. c black",
-"). c black",
-"_. c black",
-"`. c black",
-"'. c black",
-"]. c black",
-"[. c black",
-"{. c black",
-"}. c black",
-"|. c black",
-" X c black",
-".X c black",
-"XX c black",
-"oX c black",
-"OX c black",
-"+X c black",
-"@X c black",
-"#X c black",
-"$X c black",
-"%X c black",
-"&X c black",
-"*X c black",
-"=X c black",
-"-X c black",
-";X c black",
-":X c black",
-">X c black",
-",X c black",
-"