RxFPC:add new component rxxmlpropstorage

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6165 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2018-02-02 06:43:46 +00:00
parent 749f1cd764
commit 992be28e62
8 changed files with 214 additions and 93 deletions

View File

@ -59,7 +59,7 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item5>
</RequiredPackages>
<Units Count="75">
<Units Count="77">
<Unit0>
<Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/>
@ -477,13 +477,12 @@
</Unit56>
<Unit57>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<TopLine Value="5043"/>
<CursorPos Y="5059"/>
<TopLine Value="5415"/>
<CursorPos Y="5428"/>
<UsageCount Value="12"/>
<Bookmarks Count="2">
<Item0 X="3" Y="7319" ID="1"/>
<Item0 X="3" Y="7315" ID="1"/>
<Item1 X="17" Y="4357" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
@ -515,11 +514,13 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGrid_PopUpFilterUnit"/>
<EditorIndex Value="11"/>
<TopLine Value="142"/>
<CursorPos X="3" Y="161"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="6"/>
<TopLine Value="216"/>
<CursorPos X="3" Y="224"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit61>
<Unit62>
<Filename Value="../../../rxtools/rxfileutils.pas"/>
@ -539,7 +540,7 @@
</Unit63>
<Unit64>
<Filename Value="../../../rxtools/rxdconst.pas"/>
<EditorIndex Value="8"/>
<EditorIndex Value="4"/>
<TopLine Value="98"/>
<CursorPos X="3" Y="117"/>
<UsageCount Value="10"/>
@ -562,7 +563,7 @@
<Unit67>
<Filename Value="../../../../../lcl/lclproc.pas"/>
<UnitName Value="LCLProc"/>
<EditorIndex Value="9"/>
<EditorIndex Value="5"/>
<TopLine Value="843"/>
<CursorPos Y="862"/>
<UsageCount Value="10"/>
@ -571,182 +572,194 @@
<Unit68>
<Filename Value="../../../../lazutils/laz_avl_tree.pp"/>
<UnitName Value="Laz_AVL_Tree"/>
<EditorIndex Value="10"/>
<EditorIndex Value="-1"/>
<TopLine Value="1387"/>
<CursorPos Y="1406"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit68>
<Unit69>
<Filename Value="../../../../../lcl/include/customcombobox.inc"/>
<EditorIndex Value="7"/>
<EditorIndex Value="-1"/>
<TopLine Value="200"/>
<CursorPos Y="218"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit69>
<Unit70>
<Filename Value="../../../../../lcl/lclmessageglue.pas"/>
<UnitName Value="LCLMessageGlue"/>
<EditorIndex Value="3"/>
<EditorIndex Value="-1"/>
<TopLine Value="103"/>
<CursorPos Y="123"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit70>
<Unit71>
<Filename Value="../../../../../lcl/interfaces/win32/win32callback.inc"/>
<EditorIndex Value="4"/>
<EditorIndex Value="-1"/>
<TopLine Value="2676"/>
<CursorPos Y="2695"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit71>
<Unit72>
<Filename Value="../../../../../lcl/interfaces/win32/win32wsstdctrls.pp"/>
<UnitName Value="Win32WSStdCtrls"/>
<EditorIndex Value="5"/>
<EditorIndex Value="-1"/>
<TopLine Value="412"/>
<CursorPos Y="428"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit72>
<Unit73>
<Filename Value="../../../../../lcl/interfaces/win32/win32memostrings.inc"/>
<EditorIndex Value="6"/>
<EditorIndex Value="-1"/>
<TopLine Value="167"/>
<CursorPos X="42" Y="192"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit73>
<Unit74>
<Filename Value="../../../../../lcl/include/control.inc"/>
<EditorIndex Value="2"/>
<EditorIndex Value="-1"/>
<TopLine Value="4514"/>
<CursorPos Y="4540"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit74>
<Unit75>
<Filename Value="../../../rxdbgrid_print/rxdbgridprintgrid.pas"/>
<UnitName Value="RxDBGridPrintGrid"/>
<EditorIndex Value="2"/>
<TopLine Value="365"/>
<CursorPos X="3" Y="314"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit75>
<Unit76>
<Filename Value="../../../rxdbgrid_export_spreadsheet/rxdbgridexportspreadsheet.pas"/>
<UnitName Value="RxDBGridExportSpreadSheet"/>
<EditorIndex Value="3"/>
<TopLine Value="160"/>
<CursorPos X="3" Y="142"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit76>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5519" TopLine="5508"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position1>
<Position2>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5526" TopLine="5508"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="234" TopLine="216"/>
</Position2>
<Position3>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5059" TopLine="5041"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="235" TopLine="216"/>
</Position3>
<Position4>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5519" TopLine="5501"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="236" TopLine="216"/>
</Position4>
<Position5>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5059" TopLine="5043"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position5>
<Position6>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5060" TopLine="5043"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="234" TopLine="216"/>
</Position6>
<Position7>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5519" TopLine="5501"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="235" TopLine="216"/>
</Position7>
<Position8>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5522" Column="19" TopLine="5501"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="236" TopLine="216"/>
</Position8>
<Position9>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5519" TopLine="5501"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position9>
<Position10>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5059" TopLine="5043"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="234" TopLine="216"/>
</Position10>
<Position11>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5060" TopLine="5043"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="235" TopLine="216"/>
</Position11>
<Position12>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4602" TopLine="4585"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="236" TopLine="216"/>
</Position12>
<Position13>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4531" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position13>
<Position14>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4534" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="234" TopLine="216"/>
</Position14>
<Position15>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4535" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="235" TopLine="216"/>
</Position15>
<Position16>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4536" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="236" TopLine="216"/>
</Position16>
<Position17>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4537" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position17>
<Position18>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4538" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="234" TopLine="216"/>
</Position18>
<Position19>
<Filename Value="../../../../../lcl/include/control.inc"/>
<Caret Line="4540" TopLine="4514"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="235" TopLine="216"/>
</Position19>
<Position20>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5519" TopLine="5501"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="236" TopLine="216"/>
</Position20>
<Position21>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="789" Column="5" TopLine="774"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position21>
<Position22>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="701" Column="16" TopLine="677"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="234" TopLine="216"/>
</Position22>
<Position23>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="7311" Column="16" TopLine="7308"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="235" TopLine="216"/>
</Position23>
<Position24>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="7319" Column="3" TopLine="7308"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="236" TopLine="216"/>
</Position24>
<Position25>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="4357" Column="17" TopLine="4341"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="232" TopLine="216"/>
</Position25>
<Position26>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="7319" Column="3" TopLine="7301"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="240" TopLine="216"/>
</Position26>
<Position27>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="243" TopLine="216"/>
</Position27>
<Position28>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5526" Column="76" TopLine="5508"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="246" TopLine="216"/>
</Position28>
<Position29>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5024" TopLine="5008"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="241" Column="22" TopLine="216"/>
</Position29>
<Position30>
<Filename Value="../../../rxdb/rxdbgrid.pas"/>
<Caret Line="5519" TopLine="5491"/>
<Filename Value="../../../rxdb/rxdbgrid_popupfilterunit.pas"/>
<Caret Line="248" Column="39" TopLine="216"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -41,7 +41,7 @@ uses
procedure Register;
implementation
uses RxSystemServices, RxLogin, RxVersInfo, RxCloseFormValidator, RxIniPropStorage;
uses RxSystemServices, RxLogin, RxVersInfo, RxCloseFormValidator, RxIniPropStorage, RxXMLPropStorage;
const
sRxToolsPage = 'RX Tools';
@ -71,6 +71,11 @@ begin
RegisterComponents(sRxToolsPage,[TRxIniPropStorage]);
end;
procedure RegisterRxXMLPropStorage;
begin
RegisterComponents(sRxToolsPage,[TRxXMLPropStorage]);
end;
procedure Register;
begin
RegisterUnit('RxLogin', @RegisterRxLogin);
@ -78,6 +83,7 @@ begin
RegisterUnit('RxSystemServices', @RegisterRxSystemServices);
RegisterUnit('RxCloseFormValidator', @RegisterCloseFormValidator);
RegisterUnit('RxIniPropStorage', @RegisterRxIniPropStorage);
RegisterUnit('RxXMLPropStorage', @RegisterRxXMLPropStorage);
end;
end.

View File

@ -1,6 +1,6 @@
{ RegisterRxTools unit
{ RxIniPropStorage unit
Copyright (C) 2005-2017 Lagunov Aleksey alexs75@yandex.ru and Lazarus team
Copyright (C) 2005-2018 Lagunov Aleksey alexs75@yandex.ru and Lazarus team
original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it

View File

@ -0,0 +1,98 @@
{ RxXMLPropStorage unit
Copyright (C) 2005-2018 Lagunov Aleksey alexs75@yandex.ru and Lazarus team
original conception from rx library for Delphi (c)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Library General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at your
option) any later version with the following modification:
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,and
to copy and distribute the resulting executable under terms of your choice,
provided that you also meet, for each linked independent module, the terms
and conditions of the license of that module. An independent module is a
module which is not derived from or based on this library. If you modify
this library, you may extend this exception to your version of the library,
but you are not obligated to do so. If you do not wish to do so, delete this
exception statement from your version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License
for more details.
You should have received a copy of the GNU Library General Public License
along with this library; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit RxXMLPropStorage;
{$I rx.inc}
interface
uses
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, XMLPropStorage;
const
defCFGFileExt = '.xcfg';
type
{ TRxXMLPropStorage }
TRxXMLPropStorage = class(TXMLPropStorage)
private
FSeparateFiles: boolean;
protected
function GetXMLFileName: string; override;
public
published
property SeparateFiles:boolean read FSeparateFiles write FSeparateFiles;
end;
implementation
uses LazFileUtils, LazUTF8, rxapputils;
function GetDefaultCfgName: string;
var
S:string;
begin
Result := ExtractFileName(ChangeFileExt(Application.ExeName, defCFGFileExt));
S:=RxGetAppConfigDir(false);
S:=SysToUTF8(S);
ForceDirectoriesUTF8(S);
Result:=S+Result;
end;
{ TRxXMLPropStorage }
function TRxXMLPropStorage.GetXMLFileName: string;
var
S: String;
begin
if ExtractFileDir(FileName) <> '' then
Result:=FileName
else
begin
S:=GetDefaultIniName;
if FileName <> '' then
Result:=AppendPathDelim(ExtractFileDir(S)) + FileName
else
begin
if FSeparateFiles then
Result:=AppendPathDelim(ExtractFileDir(S)) + RootSection + defCFGFileExt
else
Result:=S;
end;
end;
Result:=UTF8ToSys(Result);
end;
end.

View File

@ -5424,11 +5424,7 @@ begin
aRect.Top := (aRect.Top + aRect.Bottom - H) div 2;
aRect.Bottom := aRect.Top + H;
end;
{$IFDEF lcl_version < '1.9.0.0'}
RxColumn.ImageList.StretchDraw(Canvas, AImageIndex, aRect);
{$ELSE}
RxColumn.ImageList.Draw(Canvas, aRect.Left, aRect.Top, AImageIndex);
{$ENDIF}
end;
procedure TRxDBGrid.SetEditText(ACol, ARow: longint; const Value: string);

View File

@ -217,9 +217,11 @@ procedure TRxDBGrid_PopUpFilterForm.CheckBox1Change(Sender: TObject);
var
i: Integer;
begin
CheckListBox1.OnClickCheck:=nil;
for i:=0 to CheckListBox1.Items.Count - 1 do
CheckListBox1.Checked[i]:=CheckBox1.Checked;
CheckListBox1ClickCheck(nil);
CheckListBox1.OnClickCheck:=@CheckListBox1ClickCheck;
// CheckListBox1ClickCheck(nil);
end;
procedure TRxDBGrid_PopUpFilterForm.CheckListBox1ClickCheck(Sender: TObject);
@ -237,6 +239,7 @@ begin
AU:=false;
end;
CheckBox1.OnChange:=nil;
if AC then
CheckBox1.Checked:=true
else
@ -244,6 +247,7 @@ begin
CheckBox1.Checked:=false
else
CheckBox1.State:=cbGrayed;
CheckBox1.OnChange:=@CheckBox1Change;
end;
procedure TRxDBGrid_PopUpFilterForm.FormClose(Sender: TObject;

View File

@ -26,7 +26,7 @@ Copyright (c) 1998 Master-Bank
translate to Lazarus by alexs in 2005 - 2018"/>
<License Value="LGPL"/>
<Version Major="3" Minor="2" Release="1" Build="210"/>
<Files Count="72">
<Files Count="73">
<Item1>
<Filename Value="registerrx.pas"/>
<HasRegisterProc Value="True"/>
@ -318,6 +318,10 @@ translate to Lazarus by alexs in 2005 - 2018"/>
<Filename Value="rxcontrols\rxrangesel.pas"/>
<UnitName Value="RxRangeSel"/>
</Item72>
<Item73>
<Filename Value="rxcontrols\rxxmlpropstorage.pas"/>
<UnitName Value="RxXMLPropStorage"/>
</Item73>
</Files>
<LazDoc Paths="docs;\usr\local\share\lazarus\components\rxnew\docs"/>
<i18n>

View File

@ -21,7 +21,7 @@ uses
RxIniPropStorage, rxlclconst, rxlogin, RxMDI, rxpagemngr, rxpickdate,
rxShortCutUnit, rxspin, rxswitch, RxSystemServices, rxtbrsetup, RxTimeEdit,
rxtoolbar, rxtooledit, RxDBGrid_PopUpFilterUnit, rxdbverticalgrid,
rxlclutils, RxRangeSel, LazarusPackageIntf;
rxlclutils, RxRangeSel, RxXMLPropStorage, LazarusPackageIntf;
implementation