RxFPC:new component - RxDBVerticalGrid

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@6006 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2017-08-22 12:28:33 +00:00
parent 92d83425c6
commit c5008e534b
34 changed files with 2695 additions and 194 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

View File

@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="project1"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="3">
<Item1>
<PackageName Value="rxnew"/>
</Item1>
<Item2>
<PackageName Value="FCL"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="project1"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,21 @@
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
RequireDerivedFormResource:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

View File

@ -0,0 +1,540 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<Version Value="10"/>
<BuildModes Active="Default"/>
<Units Count="54">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<EditorIndex Value="-1"/>
<WindowIndex Value="-1"/>
<TopLine Value="-1"/>
<CursorPos X="-1" Y="-1"/>
<UsageCount Value="26"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<IsVisibleTab Value="True"/>
<TopLine Value="49"/>
<CursorPos X="12" Y="70"/>
<UsageCount Value="26"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="rxdbverticalgrid.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="575"/>
<CursorPos Y="585"/>
<UsageCount Value="20"/>
</Unit2>
<Unit3>
<Filename Value="../../rxdb/rxdbgrid.pas"/>
<EditorIndex Value="2"/>
<TopLine Value="6568"/>
<CursorPos Y="6593"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
<Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/>
<EditorIndex Value="6"/>
<TopLine Value="3746"/>
<CursorPos X="12" Y="3762"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit4>
<Unit5>
<Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/>
<EditorIndex Value="3"/>
<TopLine Value="3867"/>
<CursorPos Y="3886"/>
<UsageCount Value="13"/>
<Loaded Value="True"/>
</Unit5>
<Unit6>
<Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/>
<EditorIndex Value="5"/>
<TopLine Value="1668"/>
<CursorPos X="14" Y="1686"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit6>
<Unit7>
<Filename Value="../../../../lcl/graphics.pp"/>
<UnitName Value="Graphics"/>
<EditorIndex Value="-1"/>
<CursorPos X="14" Y="17"/>
<UsageCount Value="10"/>
</Unit7>
<Unit8>
<Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="1793"/>
<CursorPos Y="1816"/>
<UsageCount Value="10"/>
</Unit8>
<Unit9>
<Filename Value="../../rxdb/rxdbtimeedit.pas"/>
<UnitName Value="RxDBTimeEdit"/>
<EditorIndex Value="-1"/>
<TopLine Value="25"/>
<CursorPos X="24" Y="48"/>
<UsageCount Value="10"/>
</Unit9>
<Unit10>
<Filename Value="../../../../lcl/dbctrls.pp"/>
<UnitName Value="DbCtrls"/>
<EditorIndex Value="-1"/>
<TopLine Value="91"/>
<CursorPos X="3" Y="41"/>
<UsageCount Value="10"/>
</Unit10>
<Unit11>
<Filename Value="../../rxdb/rxlookup.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="373"/>
<CursorPos X="16" Y="392"/>
<UsageCount Value="10"/>
</Unit11>
<Unit12>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="72"/>
<CursorPos X="30" Y="91"/>
<UsageCount Value="10"/>
</Unit12>
<Unit13>
<Filename Value="../../../../install/source/fpcsrc/packages/fcl-db/src/base/datasource.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="136"/>
<CursorPos Y="156"/>
<UsageCount Value="10"/>
</Unit13>
<Unit14>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/collect.inc"/>
<EditorIndex Value="-1"/>
<CursorPos Y="25"/>
<UsageCount Value="10"/>
</Unit14>
<Unit15>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/objpas.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="30"/>
<CursorPos Y="52"/>
<UsageCount Value="10"/>
</Unit15>
<Unit16>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/except.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="169"/>
<CursorPos Y="200"/>
<UsageCount Value="10"/>
</Unit16>
<Unit17>
<Filename Value="../../../../install/source/fpcsrc/rtl/x86_64/setjump.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="29"/>
<CursorPos Y="60"/>
<UsageCount Value="10"/>
</Unit17>
<Unit18>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/persist.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="46"/>
<CursorPos X="3" Y="49"/>
<UsageCount Value="10"/>
</Unit18>
<Unit19>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/astrings.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="161"/>
<CursorPos Y="180"/>
<UsageCount Value="10"/>
</Unit19>
<Unit20>
<Filename Value="../../../../install/source/fpcsrc/rtl/inc/objpash.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="187"/>
<CursorPos X="23" Y="206"/>
<UsageCount Value="10"/>
</Unit20>
<Unit21>
<Filename Value="../../registerrxdb.pas"/>
<UnitName Value="RegisterRxDB"/>
<EditorIndex Value="-1"/>
<TopLine Value="65"/>
<CursorPos X="48" Y="77"/>
<UsageCount Value="10"/>
</Unit21>
<Unit22>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<EditorIndex Value="4"/>
<TopLine Value="1065"/>
<CursorPos X="3" Y="1088"/>
<UsageCount Value="13"/>
<Bookmarks Count="1">
<Item0 X="38" Y="810" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit22>
<Unit23>
<Filename Value="../../rx.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="23"/>
<UsageCount Value="10"/>
</Unit23>
<Unit24>
<Filename Value="../../registerrx.pas"/>
<EditorIndex Value="-1"/>
<CursorPos X="62" Y="9"/>
<UsageCount Value="10"/>
</Unit24>
<Unit25>
<Filename Value="../../registerrxtools.pas"/>
<UnitName Value="RegisterRxTools"/>
<EditorIndex Value="-1"/>
<TopLine Value="37"/>
<UsageCount Value="10"/>
</Unit25>
<Unit26>
<Filename Value="../../rxcontrols/rxvclutils.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="77"/>
<CursorPos Y="93"/>
<UsageCount Value="10"/>
</Unit26>
<Unit27>
<Filename Value="../../rxcontrols/rxfduallst.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="65"/>
<CursorPos X="9" Y="84"/>
<UsageCount Value="10"/>
</Unit27>
<Unit28>
<Filename Value="../../rxcontrols/rxtbrsetup.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="74"/>
<CursorPos X="9" Y="93"/>
<UsageCount Value="10"/>
</Unit28>
<Unit29>
<Filename Value="../../rxcontrols/rxtoolbar.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="262"/>
<CursorPos X="36" Y="281"/>
<UsageCount Value="10"/>
</Unit29>
<Unit30>
<Filename Value="../../rxcontrols/rxctrls.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="805"/>
<CursorPos X="35" Y="824"/>
<UsageCount Value="10"/>
</Unit30>
<Unit31>
<Filename Value="../../rxcontrols/rxpickdate.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="248"/>
<CursorPos X="49" Y="267"/>
<UsageCount Value="10"/>
</Unit31>
<Unit32>
<Filename Value="../../rxcontrols/rxswitch.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="138"/>
<CursorPos X="9" Y="157"/>
<UsageCount Value="10"/>
</Unit32>
<Unit33>
<Filename Value="../../rxcontrols/rxdice.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="19"/>
<CursorPos X="57" Y="38"/>
<UsageCount Value="10"/>
</Unit33>
<Unit34>
<Filename Value="../../rxcontrols/rxclock.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="162"/>
<CursorPos X="9" Y="181"/>
<UsageCount Value="10"/>
</Unit34>
<Unit35>
<Filename Value="../../rxcontrols/rxspin.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="226"/>
<CursorPos X="6" Y="245"/>
<UsageCount Value="10"/>
</Unit35>
<Unit36>
<Filename Value="../../rxcontrols/rxmdi.pas"/>
<UnitName Value="RxMDI"/>
<EditorIndex Value="-1"/>
<TopLine Value="146"/>
<CursorPos X="13" Y="169"/>
<UsageCount Value="10"/>
</Unit36>
<Unit37>
<Filename Value="../../rxdb/rxdbutils.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="147"/>
<CursorPos X="45" Y="166"/>
<UsageCount Value="10"/>
</Unit37>
<Unit38>
<Filename Value="../../rxdb/rxpopupunit.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="21"/>
<CursorPos X="32" Y="40"/>
<UsageCount Value="10"/>
</Unit38>
<Unit39>
<Filename Value="../../rxdb/rxdbctrls.pas"/>
<UnitName Value="RxDBCtrls"/>
<EditorIndex Value="-1"/>
<TopLine Value="196"/>
<CursorPos X="32" Y="215"/>
<UsageCount Value="10"/>
</Unit39>
<Unit40>
<Filename Value="../../rxcontrols/rxlclutils.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="81"/>
<CursorPos X="11" Y="100"/>
<UsageCount Value="10"/>
</Unit40>
<Unit41>
<Filename Value="../../rxdb/rxdbgridexportpdf.pas"/>
<UnitName Value="RxDBGridExportPdf"/>
<EditorIndex Value="-1"/>
<TopLine Value="21"/>
<CursorPos X="39" Y="40"/>
<UsageCount Value="10"/>
</Unit41>
<Unit42>
<Filename Value="../../rxcontrols/rxlogin.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="190"/>
<CursorPos X="55" Y="209"/>
<UsageCount Value="10"/>
</Unit42>
<Unit43>
<Filename Value="../../rxdbgrid_print/rxdbgridprintgrid.pas"/>
<UnitName Value="RxDBGridPrintGrid"/>
<EditorIndex Value="-1"/>
<TopLine Value="20"/>
<CursorPos X="53" Y="37"/>
<UsageCount Value="10"/>
</Unit43>
<Unit44>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/objpas.pp"/>
<EditorIndex Value="-1"/>
<CursorPos X="8" Y="36"/>
<UsageCount Value="10"/>
</Unit44>
<Unit45>
<Filename Value="../../../../lcl/menus.pp"/>
<UnitName Value="Menus"/>
<EditorIndex Value="-1"/>
<CursorPos X="11" Y="30"/>
<UsageCount Value="10"/>
</Unit45>
<Unit46>
<Filename Value="../../../../lcl/include/control.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="1902"/>
<CursorPos X="3" Y="1907"/>
<UsageCount Value="10"/>
</Unit46>
<Unit47>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/classes/reader.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="1703"/>
<CursorPos Y="1738"/>
<UsageCount Value="10"/>
</Unit47>
<Unit48>
<Filename Value="../../../../install/source/fpcsrc/rtl/objpas/typinfo.pp"/>
<EditorIndex Value="-1"/>
<TopLine Value="1494"/>
<CursorPos Y="1512"/>
<UsageCount Value="10"/>
</Unit48>
<Unit49>
<Filename Value="../../../../lcl/include/popupmenu.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="56"/>
<CursorPos Y="82"/>
<UsageCount Value="10"/>
</Unit49>
<Unit50>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/db.pas"/>
<EditorIndex Value="-1"/>
<TopLine Value="1774"/>
<CursorPos X="15" Y="1794"/>
<UsageCount Value="11"/>
</Unit50>
<Unit51>
<Filename Value="/home/install/source/fpcsrc/packages/fcl-db/src/base/datasource.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="136"/>
<CursorPos Y="156"/>
<UsageCount Value="10"/>
</Unit51>
<Unit52>
<Filename Value="/home/install/source/fpcsrc/rtl/objpas/classes/lists.inc"/>
<EditorIndex Value="-1"/>
<TopLine Value="784"/>
<CursorPos Y="803"/>
<UsageCount Value="10"/>
</Unit52>
<Unit53>
<Filename Value="/home/install/source/fpcsrc/rtl/objpas/sysutils/dati.inc"/>
<EditorIndex Value="1"/>
<TopLine Value="504"/>
<CursorPos X="18" Y="516"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit53>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="355" TopLine="333"/>
</Position1>
<Position2>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="333" TopLine="314"/>
</Position2>
<Position3>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="334" TopLine="314"/>
</Position3>
<Position4>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="825" TopLine="806"/>
</Position4>
<Position5>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="826" TopLine="806"/>
</Position5>
<Position6>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="832" TopLine="806"/>
</Position6>
<Position7>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="221" Column="15" TopLine="202"/>
</Position7>
<Position8>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="60" Column="28" TopLine="39"/>
</Position8>
<Position9>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="380" Column="3" TopLine="378"/>
</Position9>
<Position10>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="264" Column="15" TopLine="246"/>
</Position10>
<Position11>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1141" Column="14" TopLine="1135"/>
</Position11>
<Position12>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="387" TopLine="368"/>
</Position12>
<Position13>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="384" Column="20" TopLine="368"/>
</Position13>
<Position14>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="260" Column="15" TopLine="245"/>
</Position14>
<Position15>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1054" Column="3" TopLine="1050"/>
</Position15>
<Position16>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="259" Column="15" TopLine="241"/>
</Position16>
<Position17>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1042" Column="18" TopLine="1018"/>
</Position17>
<Position18>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="261" Column="15" TopLine="240"/>
</Position18>
<Position19>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1070" Column="3" TopLine="1065"/>
</Position19>
<Position20>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="1098" Column="15" TopLine="1079"/>
</Position20>
<Position21>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3809" TopLine="3784"/>
</Position21>
<Position22>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3782" Column="19" TopLine="3764"/>
</Position22>
<Position23>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3810" Column="21" TopLine="3777"/>
</Position23>
<Position24>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3816" Column="21" TopLine="3781"/>
</Position24>
<Position25>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1078" Column="7" TopLine="1065"/>
</Position25>
<Position26>
<Filename Value="../../rxdb/rxdbverticalgrid.pas"/>
<Caret Line="1081" Column="80" TopLine="1065"/>
</Position26>
<Position27>
<Filename Value="../../../../lcl/grids.pas"/>
<Caret Line="3821" TopLine="3781"/>
</Position27>
<Position28>
<Filename Value="unit1.pas"/>
<Caret Line="70" Column="12" TopLine="49"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="69" Column="12" TopLine="48"/>
</Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="70" Column="12" TopLine="49"/>
</Position30>
</JumpHistory>
</ProjectSession>
<Debugging>
<Watches Count="1">
<Item1>
<Expression Value="Owner"/>
</Item1>
</Watches>
</Debugging>
</CONFIG>

View File

@ -0,0 +1,477 @@
object Form1: TForm1
Left = 517
Height = 673
Top = 222
Width = 1206
Caption = 'Form1'
ClientHeight = 673
ClientWidth = 1206
OnCreate = FormCreate
LCLVersion = '1.9.0.0'
object RxDBVerticalGrid1: TRxDBVerticalGrid
Left = 440
Height = 304
Top = 360
Width = 728
Color = clWindow
DataCoumn.Title.Alignment = taCenter
DataCoumn.Title.Caption = 'Данные'
DataCoumn.Width = 250
DataSource = dsData
FocusColor = clRed
LabelCoumn.Alignment = taCenter
LabelCoumn.ReadOnly = True
LabelCoumn.Title.Alignment = taCenter
LabelCoumn.Title.Caption = 'Заголовок'
LabelCoumn.Width = 120
Options = [rxvgColumnTitle]
Rows = <
item
FieldName = 'tb_client_inn'
RowTitle.Caption = 'ИНН'
WordWrap = False
RowHeight = 27
ReadOnly = False
PopupMenu = PopupMenu1
end
item
FieldName = 'tb_client_name'
RowTitle.Caption = 'Наименование'
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
Alignment = taRightJustify
FieldName = 'tb_client_id'
RowTitle.Caption = 'ID'
WordWrap = False
RowHeight = 27
ReadOnly = False
PopupMenu = PopupMenu2
end
item
FieldName = 'create_user_date'
RowTitle.Caption = 'Дата создания'
Color = clWhite
WordWrap = False
RowHeight = 27
ReadOnly = False
end
item
Alignment = taCenter
FieldName = 'tb_client_ogrn'
RowTitle.Caption = 'ОГРН'
WordWrap = False
RowHeight = 27
ReadOnly = False
PopupMenu = PopupMenu3
end
item
FieldName = 'create_user_name'
RowTitle.Caption = 'Описание'
WordWrap = False
RowHeight = 50
ReadOnly = False
end
item
RowTitle.Caption = 'Описание'
StaticText = 'Это просто текст'
Style = rxvrStaticText
WordWrap = False
RowHeight = 27
ReadOnly = False
end>
RowHeights = (
27
27
27
27
27
27
50
27
)
end
object RxDBGrid1: TRxDBGrid
Left = 40
Height = 222
Top = 72
Width = 1080
ColumnDefValues.BlobText = '(данные)'
TitleButtons = False
AutoSort = True
Columns = <
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_ID'
FieldName = 'TB_CLIENT_ID'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLEINT_CODE'
FieldName = 'TB_CLEINT_CODE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_INN'
FieldName = 'TB_CLIENT_INN'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLEINT_NAME'
FieldName = 'TB_CLIENT_NAME'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_EMAIL'
FieldName = 'TB_CLIENT_EMAIL'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'TB_CLIENT_PHONE'
FieldName = 'TB_CLIENT_PHONE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'CREATE_USER_NAME'
FieldName = 'CREATE_USER_NAME'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end
item
Title.Alignment = taCenter
Title.Orientation = toHorizontal
Title.Caption = 'CREATE_USER_DATE'
FieldName = 'CREATE_USER_DATE'
EditButtons = <>
Filter.DropDownRows = 0
Filter.EmptyValue = '(Пусто)'
Filter.AllValue = '(Все значения)'
Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1
Footers = <>
end>
KeyStrokes = <
item
Command = rxgcShowFindDlg
ShortCut = 16454
Enabled = True
end
item
Command = rxgcShowColumnsDlg
ShortCut = 16471
Enabled = True
end
item
Command = rxgcShowFilterDlg
ShortCut = 16468
Enabled = True
end
item
Command = rxgcShowSortDlg
ShortCut = 16467
Enabled = True
end
item
Command = rxgcShowQuickFilter
ShortCut = 16465
Enabled = True
end
item
Command = rxgcHideQuickFilter
ShortCut = 16456
Enabled = True
end
item
Command = rxgcSelectAll
ShortCut = 16449
Enabled = True
end
item
Command = rxgcDeSelectAll
ShortCut = 16429
Enabled = True
end
item
Command = rxgcInvertSelection
ShortCut = 16426
Enabled = True
end
item
Command = rxgcOptimizeColumnsWidth
ShortCut = 16427
Enabled = True
end
item
Command = rxgcCopyCellValue
ShortCut = 16451
Enabled = True
end>
FooterOptions.DrawFullLine = False
SearchOptions.QuickSearchOptions = [loCaseInsensitive, loPartialKey]
SearchOptions.FromStart = False
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgAllowQuickFilter]
Color = clWindow
DrawFullLine = False
FocusColor = clRed
SelectedColor = clHighlight
GridLineStyle = psSolid
DataSource = dsData
Options = [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColumnMove, dgColLines, dgRowLines, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit]
TabOrder = 1
TitleStyle = tsNative
end
object Button1: TButton
Left = 208
Height = 25
Top = 430
Width = 75
Caption = 'Button1'
OnClick = Button1Click
TabOrder = 2
end
object Button2: TButton
Left = 208
Height = 25
Top = 472
Width = 75
Caption = 'Button2'
OnClick = Button2Click
TabOrder = 3
end
object dsData: TDataSource
DataSet = rxData
Left = 120
Top = 94
end
object PopupMenu1: TPopupMenu
Left = 822
Top = 341
object MenuItem1: TMenuItem
Caption = 'A'
end
object MenuItem2: TMenuItem
Caption = 'A2'
end
object MenuItem4: TMenuItem
Caption = '-'
end
object MenuItem3: TMenuItem
Caption = 'A3'
end
end
object PopupMenu2: TPopupMenu
Left = 834
Top = 403
object MenuItem5: TMenuItem
Caption = 'B1'
end
object MenuItem6: TMenuItem
Caption = 'B2'
end
object MenuItem8: TMenuItem
Caption = '-'
end
object MenuItem7: TMenuItem
Caption = 'B3'
end
end
object PopupMenu3: TPopupMenu
Left = 838
Top = 458
object MenuItem9: TMenuItem
Caption = 'C1'
end
object MenuItem10: TMenuItem
Caption = 'C2'
end
object MenuItem12: TMenuItem
Caption = '-'
end
object MenuItem11: TMenuItem
Caption = 'C3'
end
end
object rxData: TRxMemoryData
FieldDefs = <
item
Name = 'TB_CLIENT_ID'
DataType = ftInteger
Precision = -1
end
item
Name = 'TB_CLEINT_CODE'
DataType = ftInteger
Precision = -1
end
item
Name = 'TB_CLIENT_INN'
DataType = ftString
Precision = -1
Size = 20
end
item
Name = 'TB_CLIENT_NAME'
DataType = ftString
Precision = -1
Size = 200
end
item
Name = 'TB_CLIENT_EMAIL'
DataType = ftString
Precision = -1
Size = 50
end
item
Name = 'TB_CLIENT_PHONE'
DataType = ftString
Precision = -1
Size = 50
end
item
Name = 'CREATE_USER_NAME'
DataType = ftString
Precision = -1
Size = 50
end
item
Name = 'CREATE_USER_DATE'
DataType = ftDateTime
Precision = -1
end>
PacketRecords = 0
Left = 176
Top = 94
object rxDataTB_CLIENT_ID: TLongintField
FieldKind = fkData
FieldName = 'TB_CLIENT_ID'
Index = 0
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLEINT_CODE: TLongintField
FieldKind = fkData
FieldName = 'TB_CLEINT_CODE'
Index = 1
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLIENT_INN: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_INN'
Index = 2
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
object rxDataTB_CLIENT_NAME: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_NAME'
Index = 3
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 200
end
object rxDataTB_CLIENT_EMAIL: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_EMAIL'
Index = 4
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object rxDataTB_CLIENT_PHONE: TStringField
FieldKind = fkData
FieldName = 'TB_CLIENT_PHONE'
Index = 5
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object rxDataCREATE_USER_NAME: TStringField
FieldKind = fkData
FieldName = 'CREATE_USER_NAME'
Index = 6
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
Size = 50
end
object rxDataCREATE_USER_DATE: TDateTimeField
FieldKind = fkData
FieldName = 'CREATE_USER_DATE'
Index = 7
LookupCache = False
ProviderFlags = [pfInUpdate, pfInWhere]
ReadOnly = False
Required = False
end
end
end

View File

@ -0,0 +1,97 @@
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, rxdbgrid,
Forms, Controls, Graphics, Dialogs, Grids, StdCtrls,
DBGrids, Menus, db, rxdbverticalgrid, rxmemds, Types;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
dsData: TDataSource;
MenuItem1: TMenuItem;
MenuItem10: TMenuItem;
MenuItem11: TMenuItem;
MenuItem12: TMenuItem;
MenuItem2: TMenuItem;
MenuItem3: TMenuItem;
MenuItem4: TMenuItem;
MenuItem5: TMenuItem;
MenuItem6: TMenuItem;
MenuItem7: TMenuItem;
MenuItem8: TMenuItem;
MenuItem9: TMenuItem;
PopupMenu1: TPopupMenu;
PopupMenu2: TPopupMenu;
PopupMenu3: TPopupMenu;
rxDataCREATE_USER_DATE: TDateTimeField;
rxDataCREATE_USER_NAME: TStringField;
rxDataTB_CLEINT_CODE: TLongintField;
rxDataTB_CLIENT_EMAIL: TStringField;
rxDataTB_CLIENT_ID: TLongintField;
rxDataTB_CLIENT_INN: TStringField;
rxDataTB_CLIENT_NAME: TStringField;
rxDataTB_CLIENT_PHONE: TStringField;
RxDBGrid1: TRxDBGrid;
RxDBVerticalGrid1: TRxDBVerticalGrid;
rxData: TRxMemoryData;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure FillDataBase;
public
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
FillDataBase;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RxDBVerticalGrid1.DataSource:=nil;
RxDBGrid1.DataSource:=nil;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
RxDBVerticalGrid1.DataSource:=dsData;
RxDBGrid1.DataSource:=dsData;
end;
procedure TForm1.FillDataBase;
begin
rxData.Open;
rxData.AppendRecord([1, 1, '01000100101', 'JSC "BOOT"', 'test@email.com', '5(555)-557-88-77', 'alexs', now]);
rxData.AppendRecord([2, 2, '02000100101', 'Wikimedia Foundation, Inc.', 'test@email.com', '5(555)-557-88-77', '1', now]);
rxData.AppendRecord([3, 3, '03000100101', 'LLC Pilot ', 'test@email.com', '5(555)-557-88-77', '2', now]);
rxData.AppendRecord([4, 4, '04000100101', 'Pilot, OOO', 'test@email.com', '5(555)-557-88-77', '3', now]);
rxData.AppendRecord([5, 5, '05000100101', 'JSC "MS"', 'test@email.com', '5(555)-557-88-77', '4', now]);
rxData.AppendRecord([6, 11, '06000100101', 'JSC "AA"', 'test@email.com', '5(555)-557-88-77', '5', now]);
rxData.AppendRecord([7, 12, '07000100101', 'JSC "BBBB"', 'test@email.com', '5(555)-557-88-77', '6', now]);
rxData.AppendRecord([8, 13, '08000100101', 'JSC "CCCC"', 'test@email.com', '5(555)-557-88-77', '7', now]);
rxData.AppendRecord([9, 14, '09000100101', 'JSC "DDD"', 'test@email.com', '5(555)-557-88-77', '8', now]);
rxData.AppendRecord([10, 15, '101000200101', 'JSC "EEEE"', 'test@email.com', '5(555)-557-88-77', '9', now]);
end;
end.

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

View File

@ -1,3 +1,3 @@
rm rx.lrs
rm rx.res
/usr/local/share/lazarus/tools/lazres rx.res TRxDBDateEdit.png TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.png TRxClock.png TRxSpeedButton.png TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png TRxLoginDialog.png TRxVersionInfo.png TRxAboutDialog.png TRxDBCurrEdit.png TRxViewsPanel.png TRxDBColorBox.png TRxRadioGroup.png TRxDBRadioGroup.png TRxHistoryNavigator.png TRxCloseFormValidator.png TRxIniPropStorage.png TRxDBGridFooterTools.png TRxDateRangeEdit.png TRxMDICloseButton.png TRxMDIPanel.png TRxMDITasks.png TRxDBGridExportPDF.png
/usr/local/share/lazarus/tools/lazres rx.res TRxDBDateEdit.png TRXLookUpEdit.xpm TRxDBCalcEdit.xpm TRxDBLookupCombo.xpm TRxDBGrid.xpm TDualListDialog.xpm TFolderLister.xpm TRxMemoryData.xpm TCURRENCYEDIT.xpm TRXSWITCH.xpm TRXDICE.xpm TRXDBCOMBOBOX.xpm ttoolpanel.xpm TPAGEMANAGER.xpm TRXAPPICON.xpm TSECRETPANEL.xpm TRXLABEL.xpm tautopanel.xpm TRxCalendarGrid.xpm TRxDateEdit.png TRxClock.png TRxSpeedButton.png TRxSpinButton.png TRxSpinEdit.png TRXDBSpinEdit.png TRxTimeEdit.png TRxDBTimeEdit.png TRxDBProgressBar.png TRxDBTrackBar.png TRxLoginDialog.png TRxVersionInfo.png TRxAboutDialog.png TRxDBCurrEdit.png TRxViewsPanel.png TRxDBColorBox.png TRxRadioGroup.png TRxDBRadioGroup.png TRxHistoryNavigator.png TRxCloseFormValidator.png TRxIniPropStorage.png TRxDBGridFooterTools.png TRxDateRangeEdit.png TRxMDICloseButton.png TRxMDIPanel.png TRxMDITasks.png TRxDBGridExportPDF.png TRxDBVerticalGrid.png

Binary file not shown.

View File

@ -42,7 +42,7 @@ procedure Register;
implementation
uses DB, DBPropEdits, rxdbgrid, RxDBSpinEdit, RxDBTimeEdit, RxDBCtrls, rxmemds,
ComponentEditors, rxseldsfrm, PropEdits, RxDBColorBox, rxdbdateedit, rxdbcomb,
rxlookup, rxdbcurredit, RxDBGridFooterTools
rxlookup, rxdbcurredit, RxDBGridFooterTools, rxdbverticalgrid
{$IF (FPC_FULLVERSION >= 30101)}
, RxDBGridExportPdf
{$ENDIF}
@ -56,6 +56,30 @@ type
procedure FillValues(const Values: TStringList); override;
end;
{ TRxDBVerticalGridFieldProperty }
TRxDBVerticalGridFieldProperty = class(TFieldProperty)
public
procedure FillValues(const Values: TStringList); override;
end;
{ TRxDBVerticalGridFieldProperty }
procedure TRxDBVerticalGridFieldProperty.FillValues(const Values: TStringList);
var
FRow: TRxDBVerticalGridRow;
Grid: TRxDBVerticalGrid;
DataSource: TDataSource;
begin
FRow:=TRxDBVerticalGridRow(GetComponent(0));
if not (FRow is TRxDBVerticalGridRow) then exit;
Grid:=TRxDBVerticalGrid(FRow.Grid);
if not (Grid is TRxDBVerticalGrid) then exit;
DataSource := Grid.DataSource;
if Assigned(DataSource) and Assigned(DataSource.DataSet) then
DataSource.DataSet.GetFieldNames(Values);
end;
{ TRxDBGridFieldProperty }
procedure TRxDBGridFieldProperty.FillValues(const Values: TStringList);
@ -159,6 +183,12 @@ begin
RegisterComponents('RX DBAware',[TRxDBComboBox]);
end;
procedure RegisterRxDBVerticalGrid;
begin
RegisterComponents('RX DBAware',[TRxDBVerticalGrid]);
end;
procedure Register;
begin
//RX DBAware
@ -173,6 +203,8 @@ begin
RegisterUnit('rxmemds', @RegisterRxMemDS);
RegisterUnit('RxDBColorBox', @RegisterRxDBColorBox);
RegisterUnit('RxDBGridFooterTools', @RegisterRxDbGridFooterTools);
RegisterUnit('rxdbverticalgrid', @RegisterRxDBVerticalGrid);
{$IF (FPC_FULLVERSION >= 30101)}
RegisterUnit('RxDBGridExportPdf', @RegisterRxDBGridExportPDF);
{$ENDIF}
@ -182,6 +214,8 @@ begin
//
RegisterPropertyEditor(TypeInfo(string), TRxColumn, 'FieldName', TRxDBGridFieldProperty);
RegisterPropertyEditor(TypeInfo(string), TRxDBVerticalGridRow, 'FieldName', TRxDBVerticalGridFieldProperty);
(* RegisterPropertyEditor(TypeInfo(string), TRxColumnFooter, 'FieldName', TRxDBGridFooterFieldProperty); *)
RegisterPropertyEditor(TypeInfo(string), TRxColumnFooterItem, 'FieldName', TRxDBGridFooterFieldProperty);
end;

Binary file not shown.

View File

@ -178,7 +178,7 @@ type
implementation
uses rxvclutils, RTLConsts, LCLIntf;
uses rxlclutils, RTLConsts, LCLIntf;
const
Registered: Boolean = False;

View File

@ -821,7 +821,7 @@ type
implementation
uses SysUtils, Dialogs, rxVCLUtils, Math, RxAppUtils, ImgList,
uses SysUtils, Dialogs, rxlclutils, Math, RxAppUtils, ImgList,
ActnList, InterfaceBase;
const
Alignments: array [TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER);

View File

@ -35,7 +35,7 @@ interface
{$I rx.inc}
uses SysUtils, LCLType, LCLProc, LCLIntf, LMessages, Classes, Graphics,
Controls, Forms, StdCtrls, ExtCtrls, Menus, rxVCLUtils;
Controls, Forms, StdCtrls, ExtCtrls, Menus, rxlclutils;
type
TRxDiceValue = 1..6;

View File

@ -81,7 +81,7 @@ end;
implementation
uses rxvclutils, rxboxprocs;
uses rxlclutils, rxboxprocs;
{$R *.lfm}

View File

@ -1,4 +1,4 @@
{ vclutils unit
{ lclutils unit
Copyright (C) 2005-2017 Lagunov Aleksey alexs75@yandex.ru and Lazarus team
original conception from rx library for Delphi (c)
@ -29,7 +29,7 @@
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
}
unit rxvclutils;
unit rxlclutils;
{$I rx.inc}
@ -97,6 +97,8 @@ procedure FreeMemo(var fpBlock: Pointer);
procedure RaiseIndexOutOfBounds(Control: TControl; Items:TStrings; Index: integer);
procedure WriteTextHeader(ACanvas: TCanvas; ARect: TRect; const Text: string; Alignment: TAlignment);
{$IFDEF WIN32}
type
PCursorOrIcon = ^TCursorOrIcon;
@ -123,7 +125,7 @@ procedure OutOfResources;
{$ENDIF}
implementation
uses LCLProc, LCLIntf, LCLType, LCLStrConsts;
uses LCLProc, LCLIntf, LCLType, LCLStrConsts, Grids, math;
{$IFNDEF RX_USE_LAZARUS_RESOURCE}
{$R rx_lcl.res}
@ -732,6 +734,57 @@ begin
[Control.Name, Index, Items.Count - 1]);
end;
const
ALIGN_FLAGS_HEADER: array[TAlignment] of integer =
(DT_LEFT or {DT_EXPANDTABS or} DT_NOPREFIX,
DT_RIGHT or {DT_EXPANDTABS or }DT_NOPREFIX,
DT_CENTER or {DT_EXPANDTABS or }DT_NOPREFIX);
procedure WriteTextHeader(ACanvas: TCanvas; ARect: TRect; const Text: string; Alignment: TAlignment);
var
DrawRect: TRect;
W, CnvW: integer;
begin
(*
dec(ARect.Right, constCellPadding);
case Canvas.TextStyle.Alignment of
Classes.taLeftJustify: Inc(ARect.Left, constCellPadding);
Classes.taRightJustify: Dec(ARect.Right, 1);
end;
case Canvas.TextStyle.Layout of
tlTop: Inc(ARect.Top, constCellPadding);
tlBottom: Dec(ARect.Bottom, constCellPadding);
end;
if ARect.Right<ARect.Left then
ARect.Right:=ARect.Left;
if ARect.Left>ARect.Right then
ARect.Left:=ARect.Right;
if ARect.Bottom<ARect.Top then
ARect.Bottom:=ARect.Top;
if ARect.Top>ARect.Bottom then
ARect.Top:=ARect.Bottom;
if (ARect.Left<>ARect.Right) and (ARect.Top<>ARect.Bottom) then
*)
DrawRect := Rect(ARect.Left + constCellPadding, ARect.Top + constCellPadding, ARect.Right - constCellPadding, ARect.Bottom - constCellPadding);
CnvW := Max(DrawRect.Right - DrawRect.Left, 1);
W := (ACanvas.TextWidth(Text) div CnvW) + 1;
DrawRect.Top := ((ARect.Top + ARect.Bottom) div 2) - W * ACanvas.TextHeight('Wg') div 2;
if DrawRect.Top < ARect.Top + 1 then
DrawRect.Top := ARect.Top + 1;
SetBkMode(ACanvas.Handle, TRANSPARENT);
DrawText(ACanvas.Handle, PChar(Text), Length(Text), DrawRect,
// DT_VCENTER or DT_WORDBREAK or DT_CENTER
ALIGN_FLAGS_HEADER[Alignment] {or DT_VCENTER or DT_END_ELLIPSIS } or DT_WORDBREAK
);
end;
initialization
{$IFDEF RX_USE_LAZARUS_RESOURCE}
LazarusResources.Add('rxbtn_downarrow','XPM',[

View File

@ -206,7 +206,7 @@ function CreateLoginDialog(UnlockMode, ASelectDatabase: Boolean;
implementation
uses
Registry, IniFiles, RxAppUtils, RxDConst, rxVclUtils, RxConst;
Registry, IniFiles, RxAppUtils, RxDConst, rxlclutils, RxConst;
const
keyLoginSection = 'Login Dialog';

View File

@ -162,7 +162,7 @@ type
end;
implementation
uses LResources, rxvclutils, rxconst;
uses LResources, rxlclutils, rxconst;
{ TRxMDICloseButton }

View File

@ -264,7 +264,7 @@ const
implementation
uses Messages, RXCtrls, rxconst, rxtooledit, rxvclutils, math, LCLStrConsts, LResources;
uses Messages, RXCtrls, rxconst, rxtooledit, rxlclutils, math, LCLStrConsts, LResources;
{$R pickdate.res}

View File

@ -242,7 +242,7 @@ type
implementation
uses
rxvclutils, LResources;
rxlclutils, LResources;
const
sSpinUpBtn = 'RXSPINUP';

View File

@ -154,7 +154,7 @@ type
implementation
uses rxvclutils;
uses rxlclutils;
const
BorderStyles: array[TBorderStyle] of Longint = (0, WS_BORDER);

View File

@ -90,7 +90,7 @@ var
ToolPanelSetupForm: TToolPanelSetupForm;
implementation
uses rxvclutils, ActnList, rxboxprocs, rxconst, LCLProc, rxShortCutUnit;
uses rxlclutils, ActnList, rxboxprocs, rxconst, LCLProc, rxShortCutUnit;
{$R *.lfm}

View File

@ -278,7 +278,7 @@ type
end;
implementation
uses Math, RxTBRSetup, LCLProc, rxvclutils, Dialogs, typinfo, rxdconst, GraphType,
uses Math, RxTBRSetup, LCLProc, rxlclutils, Dialogs, typinfo, rxdconst, GraphType,
LResources;
const

View File

@ -212,7 +212,7 @@ type
end;
implementation
uses rxdbutils, LCLVersion, rxvclutils, StdCtrls;
uses rxdbutils, LCLVersion, rxlclutils, StdCtrls;
{ TRxDBRadioGroup }

View File

@ -37,7 +37,7 @@ interface
uses
Classes, SysUtils, LResources, LCLType, LCLIntf, Forms, Controls, Buttons,
Graphics, Dialogs, Grids, rxdbutils, DBGrids, DB, PropertyStorage, rxvclutils,
Graphics, Dialogs, Grids, rxdbutils, DBGrids, DB, PropertyStorage, rxlclutils,
LMessages, types, StdCtrls, Menus, rxspin;
const
@ -1138,8 +1138,6 @@ type
procedure RegisterRxDBGridSortEngine(RxDBGridSortEngineClass: TRxDBGridSortEngineClass;
DataSetClassName: string);
procedure WriteTextHeader(ACanvas: TCanvas; ARect: TRect; const Text: string; Alignment: TAlignment);
implementation
uses Math, rxdconst, rxstrutils, rxutils, strutils, rxdbgrid_findunit,
@ -2936,56 +2934,6 @@ begin
end;
{ TRxDBGrid }
const
ALIGN_FLAGS_HEADER: array[TAlignment] of integer =
(DT_LEFT or {DT_EXPANDTABS or} DT_NOPREFIX,
DT_RIGHT or {DT_EXPANDTABS or }DT_NOPREFIX,
DT_CENTER or {DT_EXPANDTABS or }DT_NOPREFIX);
procedure WriteTextHeader(ACanvas: TCanvas; ARect: TRect; const Text: string; Alignment: TAlignment);
var
DrawRect: TRect;
W, CnvW: integer;
begin
(*
dec(ARect.Right, constCellPadding);
case Canvas.TextStyle.Alignment of
Classes.taLeftJustify: Inc(ARect.Left, constCellPadding);
Classes.taRightJustify: Dec(ARect.Right, 1);
end;
case Canvas.TextStyle.Layout of
tlTop: Inc(ARect.Top, constCellPadding);
tlBottom: Dec(ARect.Bottom, constCellPadding);
end;
if ARect.Right<ARect.Left then
ARect.Right:=ARect.Left;
if ARect.Left>ARect.Right then
ARect.Left:=ARect.Right;
if ARect.Bottom<ARect.Top then
ARect.Bottom:=ARect.Top;
if ARect.Top>ARect.Bottom then
ARect.Top:=ARect.Bottom;
if (ARect.Left<>ARect.Right) and (ARect.Top<>ARect.Bottom) then
*)
DrawRect := Rect(ARect.Left + constCellPadding, ARect.Top + constCellPadding, ARect.Right - constCellPadding, ARect.Bottom - constCellPadding);
CnvW := Max(DrawRect.Right - DrawRect.Left, 1);
W := (ACanvas.TextWidth(Text) div CnvW) + 1;
DrawRect.Top := ((ARect.Top + ARect.Bottom) div 2) - W * ACanvas.TextHeight('Wg') div 2;
if DrawRect.Top < ARect.Top + 1 then
DrawRect.Top := ARect.Top + 1;
SetBkMode(ACanvas.Handle, TRANSPARENT);
DrawText(ACanvas.Handle, PChar(Text), Length(Text), DrawRect,
// DT_VCENTER or DT_WORDBREAK or DT_CENTER
ALIGN_FLAGS_HEADER[Alignment] {or DT_VCENTER or DT_END_ELLIPSIS } or DT_WORDBREAK
);
end;
procedure TRxDBGrid.SetTitleButtons(const AValue: boolean);
begin

View File

@ -37,7 +37,7 @@ interface
{$IF (FPC_FULLVERSION >= 30101)}
uses
Classes, SysUtils, DB, rxdbgrid, rxvclutils, Graphics, fpPDF, contnrs, fpparsettf,
Classes, SysUtils, DB, rxdbgrid, rxlclutils, Graphics, fpPDF, contnrs, fpparsettf,
fpTTF;
type

View File

@ -163,7 +163,7 @@ procedure _DBError(const Msg: string);
implementation
uses Forms, Controls, Dialogs, RXDConst, rxvclutils, FileUtil,
uses Forms, Controls, Dialogs, RXDConst, rxlclutils, FileUtil,
AppUtils, RxAppUtils, RxStrUtils, Math, rxdateutil, LazUTF8;
{ Utility routines }

File diff suppressed because it is too large Load Diff

View File

@ -389,7 +389,7 @@ type
end;
implementation
uses rxVCLUtils, Math, rxdconst;
uses rxlclutils, Math, rxdconst;
type
TDbGridAccess = class(TDbGrid)

View File

@ -37,7 +37,7 @@ interface
uses
Classes, SysUtils, DB, Forms, DBGrids, rxdbgrid, LCLType, Controls, ComCtrls,
Buttons, Grids, Graphics, rxvclutils;
Buttons, Grids, Graphics, rxlclutils;
type
TPopUpCloseEvent = procedure(AResult:boolean) of object;

View File

@ -36,7 +36,7 @@ interface
uses
Classes, SysUtils, DB, rxdbgrid, LR_Class, LR_DSet, LR_DBSet, contnrs,
Graphics, Printers, rxvclutils;
Graphics, Printers, rxlclutils;
type
TRxDBGridPrintOption =

View File

@ -25,8 +25,8 @@
Copyright (c) 1998 Master-Bank
translate to Lazarus by alexs in 2005 - 2017"/>
<License Value="LGPL"/>
<Version Major="2" Minor="9" Release="6" Build="203"/>
<Files Count="70">
<Version Major="3" Minor="1" Release="1" Build="210"/>
<Files Count="71">
<Item1>
<Filename Value="registerrx.pas"/>
<HasRegisterProc Value="True"/>
@ -91,225 +91,229 @@ translate to Lazarus by alexs in 2005 - 2017"/>
<UnitName Value="rxDateRangeEditUnit"/>
</Item15>
<Item16>
<Filename Value="rxcontrols\rxvclutils.pas"/>
<UnitName Value="rxvclutils"/>
</Item16>
<Item17>
<Filename Value="rxcontrols\rxversinfo.pas"/>
<UnitName Value="RxVersInfo"/>
</Item17>
<Item18>
</Item16>
<Item17>
<Filename Value="rxcontrols\rxviewspanel.pas"/>
<UnitName Value="RxViewsPanel"/>
</Item18>
<Item19>
</Item17>
<Item18>
<Filename Value="rxdb\ex_rx_bin_datapacket.pas"/>
<UnitName Value="ex_rx_bin_datapacket"/>
</Item19>
<Item20>
</Item18>
<Item19>
<Filename Value="rxdb\ex_rx_datapacket.pas"/>
<UnitName Value="ex_rx_datapacket"/>
</Item20>
<Item21>
</Item19>
<Item20>
<Filename Value="rxdb\ex_rx_xml_datapacket.pas"/>
<UnitName Value="ex_rx_xml_datapacket"/>
</Item21>
<Item22>
</Item20>
<Item21>
<Filename Value="rxdb\rxdbcolorbox.pas"/>
<UnitName Value="RxDBColorBox"/>
</Item22>
<Item23>
</Item21>
<Item22>
<Filename Value="rxdb\rxdbcomb.pas"/>
<UnitName Value="rxdbcomb"/>
</Item23>
<Item24>
</Item22>
<Item23>
<Filename Value="rxdb\rxdbctrls.pas"/>
<UnitName Value="RxDBCtrls"/>
</Item24>
<Item25>
</Item23>
<Item24>
<Filename Value="rxdb\rxdbcurredit.pas"/>
<UnitName Value="rxdbcurredit"/>
</Item25>
<Item26>
</Item24>
<Item25>
<Filename Value="rxdb\rxdbdateedit.pas"/>
<UnitName Value="rxdbdateedit"/>
</Item26>
<Item27>
</Item25>
<Item26>
<Filename Value="rxdb\rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/>
</Item27>
<Item28>
</Item26>
<Item27>
<Filename Value="rxdb\rxdbgrid.res"/>
<Type Value="Binary"/>
</Item28>
<Item29>
</Item27>
<Item28>
<Filename Value="rxdb\rxdbgrid_columsunit.lfm"/>
<Type Value="LFM"/>
</Item29>
<Item30>
</Item28>
<Item29>
<Filename Value="rxdb\rxdbgrid_columsunit.lrt"/>
<Type Value="Text"/>
</Item30>
<Item31>
</Item29>
<Item30>
<Filename Value="rxdb\rxdbgrid_columsunit.pas"/>
<UnitName Value="rxdbgrid_columsunit"/>
</Item31>
<Item32>
</Item30>
<Item31>
<Filename Value="rxdb\rxdbgrid_findunit.lfm"/>
<Type Value="LFM"/>
</Item32>
<Item33>
</Item31>
<Item32>
<Filename Value="rxdb\rxdbgrid_findunit.pas"/>
<UnitName Value="rxdbgrid_findunit"/>
</Item33>
<Item34>
</Item32>
<Item33>
<Filename Value="rxdb\exsortmds.pas"/>
<UnitName Value="exsortmds"/>
</Item34>
<Item35>
</Item33>
<Item34>
<Filename Value="rxdb\rxdbgridexportpdf.pas"/>
<UnitName Value="RxDBGridExportPdf"/>
</Item35>
<Item36>
</Item34>
<Item35>
<Filename Value="rxdb\rxdbgridexportpdfsetupunit.pas"/>
<UnitName Value="RxDBGridExportPdfSetupUnit"/>
</Item36>
<Item37>
</Item35>
<Item36>
<Filename Value="rxdb\rxdbgridfootertools.pas"/>
<UnitName Value="RxDBGridFooterTools"/>
</Item37>
<Item38>
</Item36>
<Item37>
<Filename Value="rxdb\rxdbgridfootertools_setup.pas"/>
<UnitName Value="rxdbgridfootertools_setup"/>
</Item38>
<Item39>
</Item37>
<Item38>
<Filename Value="rxdb\rxdbspinedit.pas"/>
<UnitName Value="RxDBSpinEdit"/>
</Item39>
<Item40>
</Item38>
<Item39>
<Filename Value="rxdb\rxdbtimeedit.pas"/>
<UnitName Value="RxDBTimeEdit"/>
</Item40>
<Item41>
</Item39>
<Item40>
<Filename Value="rxdb\rxdbutils.pas"/>
<UnitName Value="rxdbutils"/>
</Item41>
<Item42>
</Item40>
<Item41>
<Filename Value="rxdb\rxfilterby.pas"/>
<UnitName Value="rxfilterby"/>
</Item42>
<Item43>
</Item41>
<Item42>
<Filename Value="rxdb\rxlookup.pas"/>
<UnitName Value="rxlookup"/>
</Item43>
<Item44>
</Item42>
<Item43>
<Filename Value="rxdb\rxmemds.pas"/>
<UnitName Value="rxmemds"/>
</Item44>
<Item45>
</Item43>
<Item44>
<Filename Value="rxdb\rxpopupunit.pas"/>
<UnitName Value="rxpopupunit"/>
</Item45>
<Item46>
</Item44>
<Item45>
<Filename Value="rxdb\rxseldsfrm.pas"/>
<UnitName Value="rxseldsfrm"/>
</Item46>
<Item47>
</Item45>
<Item46>
<Filename Value="rxdb\rxsortby.pas"/>
<UnitName Value="rxsortby"/>
</Item47>
<Item48>
</Item46>
<Item47>
<Filename Value="rxdb\rxsortmemds.pas"/>
<UnitName Value="rxsortmemds"/>
</Item48>
<Item49>
</Item47>
<Item48>
<Filename Value="rxcontrols\rxdice.inc"/>
<Type Value="Include"/>
</Item49>
<Item50>
</Item48>
<Item49>
<Filename Value="rxcontrols\rxdice.pas"/>
<UnitName Value="rxdice"/>
</Item50>
<Item51>
</Item49>
<Item50>
<Filename Value="rxcontrols\rxduallist.pas"/>
<UnitName Value="rxduallist"/>
</Item51>
<Item52>
</Item50>
<Item51>
<Filename Value="rxcontrols\rxfduallst.pas"/>
<UnitName Value="rxfduallst"/>
</Item52>
<Item53>
</Item51>
<Item52>
<Filename Value="rxcontrols\rxfolderlister.pas"/>
<UnitName Value="rxfolderlister"/>
</Item53>
<Item54>
</Item52>
<Item53>
<Filename Value="rxcontrols\rxhistory.pas"/>
<UnitName Value="RXHistory"/>
</Item54>
<Item55>
</Item53>
<Item54>
<Filename Value="rxcontrols\rxinipropstorage.pas"/>
<UnitName Value="RxIniPropStorage"/>
</Item55>
<Item56>
</Item54>
<Item55>
<Filename Value="rxcontrols\rxlclconst.pas"/>
<UnitName Value="rxlclconst"/>
</Item56>
<Item57>
</Item55>
<Item56>
<Filename Value="rxcontrols\rxlogin.pas"/>
<UnitName Value="rxlogin"/>
</Item57>
<Item58>
</Item56>
<Item57>
<Filename Value="rxcontrols\rxmdi.pas"/>
<UnitName Value="RxMDI"/>
</Item58>
<Item59>
</Item57>
<Item58>
<Filename Value="rxcontrols\rxpagemngr.pas"/>
<UnitName Value="rxpagemngr"/>
</Item59>
<Item60>
</Item58>
<Item59>
<Filename Value="rxcontrols\rxpickdate.pas"/>
<UnitName Value="rxpickdate"/>
</Item60>
<Item61>
</Item59>
<Item60>
<Filename Value="rxcontrols\rxshortcutunit.pas"/>
<UnitName Value="rxShortCutUnit"/>
</Item61>
<Item62>
</Item60>
<Item61>
<Filename Value="rxcontrols\rxspin.pas"/>
<UnitName Value="rxspin"/>
</Item62>
<Item63>
</Item61>
<Item62>
<Filename Value="rxcontrols\rxswitch.inc"/>
<Type Value="Include"/>
</Item63>
<Item64>
</Item62>
<Item63>
<Filename Value="rxcontrols\rxswitch.pas"/>
<UnitName Value="rxswitch"/>
</Item64>
<Item65>
</Item63>
<Item64>
<Filename Value="rxcontrols\rxsystemservices.pas"/>
<UnitName Value="RxSystemServices"/>
</Item65>
<Item66>
</Item64>
<Item65>
<Filename Value="rxcontrols\rxtbrsetup.pas"/>
<UnitName Value="rxtbrsetup"/>
</Item66>
<Item67>
</Item65>
<Item66>
<Filename Value="rxcontrols\rxtimeedit.pas"/>
<UnitName Value="RxTimeEdit"/>
</Item67>
<Item68>
</Item66>
<Item67>
<Filename Value="rxcontrols\rxtoolbar.pas"/>
<UnitName Value="rxtoolbar"/>
</Item68>
<Item69>
</Item67>
<Item68>
<Filename Value="rxcontrols\rxtooledit.pas"/>
<UnitName Value="rxtooledit"/>
</Item69>
<Item70>
</Item68>
<Item69>
<Filename Value="rxdb\rxdbgrid_popupfilterunit.pas"/>
<UnitName Value="RxDBGrid_PopUpFilterUnit"/>
</Item69>
<Item70>
<Filename Value="rxdb\rxdbverticalgrid.pas"/>
<UnitName Value="rxdbverticalgrid"/>
</Item70>
<Item71>
<Filename Value="rxcontrols\rxlclutils.pas"/>
<UnitName Value="rxlclutils"/>
</Item71>
</Files>
<LazDoc Paths="docs;\usr\local\share\lazarus\components\rxnew\docs"/>
<i18n>

View File

@ -11,16 +11,17 @@ uses
registerrx, RegisterRxDB, RegisterRxTools, RxHistoryNavigator,
RxAboutDialog, rxAboutFormUnit, rxclock, RxCloseFormValidator, rxapputils,
RxAutoPanel, rxboxprocs, rxctrls, rxcurredit, rxDateRangeEditUnit,
rxvclutils, RxVersInfo, RxViewsPanel, ex_rx_bin_datapacket,
ex_rx_datapacket, ex_rx_xml_datapacket, RxDBColorBox, rxdbcomb, RxDBCtrls,
rxdbcurredit, rxdbdateedit, rxdbgrid, rxdbgrid_columsunit,
rxdbgrid_findunit, exsortmds, RxDBGridExportPdf, RxDBGridExportPdfSetupUnit,
RxDBGridFooterTools, rxdbgridfootertools_setup, RxDBSpinEdit, RxDBTimeEdit,
rxdbutils, rxfilterby, rxlookup, rxmemds, rxpopupunit, rxseldsfrm, rxsortby,
RxVersInfo, RxViewsPanel, ex_rx_bin_datapacket, ex_rx_datapacket,
ex_rx_xml_datapacket, RxDBColorBox, rxdbcomb, RxDBCtrls, rxdbcurredit,
rxdbdateedit, rxdbgrid, rxdbgrid_columsunit, rxdbgrid_findunit, exsortmds,
RxDBGridExportPdf, RxDBGridExportPdfSetupUnit, RxDBGridFooterTools,
rxdbgridfootertools_setup, RxDBSpinEdit, RxDBTimeEdit, rxdbutils,
rxfilterby, rxlookup, rxmemds, rxpopupunit, rxseldsfrm, rxsortby,
rxsortmemds, rxdice, rxduallist, rxfduallst, rxfolderlister, RXHistory,
RxIniPropStorage, rxlclconst, rxlogin, RxMDI, rxpagemngr, rxpickdate,
rxShortCutUnit, rxspin, rxswitch, RxSystemServices, rxtbrsetup, RxTimeEdit,
rxtoolbar, rxtooledit, RxDBGrid_PopUpFilterUnit, LazarusPackageIntf;
rxtoolbar, rxtooledit, RxDBGrid_PopUpFilterUnit, rxdbverticalgrid,
rxlclutils, LazarusPackageIntf;
implementation