new style for shortcut in rxdbgrid tools

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1225 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
alexs75
2010-05-19 15:33:28 +00:00
parent 3010f3d960
commit 656ed83de3
11 changed files with 704 additions and 252 deletions

View File

@@ -13,7 +13,7 @@
<ResourceType Value="res"/> <ResourceType Value="res"/>
<UseXPManifest Value="True"/> <UseXPManifest Value="True"/>
<Icon Value="0"/> <Icon Value="0"/>
<ActiveEditorIndexAtStart Value="1"/> <ActiveWindowIndexAtStart Value="0"/>
</General> </General>
<VersionInfo> <VersionInfo>
<UseVersionInfo Value="True"/> <UseVersionInfo Value="True"/>
@@ -52,14 +52,14 @@
<MinVersion Major="1" Release="18" Build="56" Valid="True"/> <MinVersion Major="1" Release="18" Build="56" Valid="True"/>
</Item4> </Item4>
</RequiredPackages> </RequiredPackages>
<Units Count="51"> <Units Count="59">
<Unit0> <Unit0>
<Filename Value="RxDBGridDemo.lpr"/> <Filename Value="RxDBGridDemo.lpr"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
<UnitName Value="RxDBGridDemo"/> <UnitName Value="RxDBGridDemo"/>
<CursorPos X="5" Y="17"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="40"/> <CursorPos X="5" Y="17"/>
<UsageCount Value="44"/>
</Unit0> </Unit0>
<Unit1> <Unit1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="rxdbgridmainunit.pas"/>
@@ -67,37 +67,38 @@
<ComponentName Value="RxDBGridMainForm"/> <ComponentName Value="RxDBGridMainForm"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="RxDBGridMainUnit"/> <UnitName Value="RxDBGridMainUnit"/>
<CursorPos X="9" Y="175"/>
<TopLine Value="173"/>
<EditorIndex Value="0"/> <EditorIndex Value="0"/>
<UsageCount Value="40"/> <WindowIndex Value="0"/>
<TopLine Value="148"/>
<CursorPos X="15" Y="157"/>
<UsageCount Value="44"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="../../../../fpcsrc/fcl/db/db.pp"/> <Filename Value="../../../../fpcsrc/fcl/db/db.pp"/>
<UnitName Value="db"/> <UnitName Value="db"/>
<CursorPos X="17" Y="1116"/>
<TopLine Value="1112"/> <TopLine Value="1112"/>
<CursorPos X="17" Y="1116"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit2> </Unit2>
<Unit3> <Unit3>
<Filename Value="../../../../fpcsrc/fcl/db/dataset.inc"/> <Filename Value="../../../../fpcsrc/fcl/db/dataset.inc"/>
<CursorPos X="21" Y="1139"/>
<TopLine Value="1134"/> <TopLine Value="1134"/>
<CursorPos X="21" Y="1139"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit3> </Unit3>
<Unit4> <Unit4>
<Filename Value="../../rxmemds.pas"/> <Filename Value="../../rxmemds.pas"/>
<UnitName Value="rxmemds"/> <UnitName Value="rxmemds"/>
<CursorPos X="1" Y="356"/>
<TopLine Value="337"/> <TopLine Value="337"/>
<CursorPos X="1" Y="356"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit4> </Unit4>
<Unit5> <Unit5>
<Filename Value="../../rxdbgrid.pas"/> <Filename Value="../../rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/> <UnitName Value="rxdbgrid"/>
<CursorPos X="51" Y="1022"/>
<TopLine Value="1007"/> <TopLine Value="1007"/>
<CursorPos X="51" Y="1022"/>
<UsageCount Value="13"/> <UsageCount Value="13"/>
<Bookmarks Count="2"> <Bookmarks Count="2">
<Item0 X="1" Y="1089" ID="1"/> <Item0 X="1" Y="1089" ID="1"/>
@@ -107,74 +108,74 @@
<Unit6> <Unit6>
<Filename Value="../../../../lcl/lresources.pp"/> <Filename Value="../../../../lcl/lresources.pp"/>
<UnitName Value="LResources"/> <UnitName Value="LResources"/>
<CursorPos X="1" Y="2644"/>
<TopLine Value="2626"/> <TopLine Value="2626"/>
<CursorPos X="1" Y="2644"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit6> </Unit6>
<Unit7> <Unit7>
<Filename Value="../../../../lcl/grids.pas"/> <Filename Value="../../../../lcl/grids.pas"/>
<UnitName Value="Grids"/> <UnitName Value="Grids"/>
<CursorPos X="33" Y="394"/>
<TopLine Value="385"/> <TopLine Value="385"/>
<CursorPos X="33" Y="394"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit7> </Unit7>
<Unit8> <Unit8>
<Filename Value="../../../../lcl/dbgrids.pas"/> <Filename Value="../../../../lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<CursorPos X="30" Y="199"/>
<TopLine Value="187"/> <TopLine Value="187"/>
<CursorPos X="30" Y="199"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit8> </Unit8>
<Unit9> <Unit9>
<Filename Value="../../rxpopupunit.pas"/> <Filename Value="../../rxpopupunit.pas"/>
<UnitName Value="rxpopupunit"/> <UnitName Value="rxpopupunit"/>
<CursorPos X="15" Y="249"/>
<TopLine Value="246"/> <TopLine Value="246"/>
<CursorPos X="15" Y="249"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit9> </Unit9>
<Unit10> <Unit10>
<Filename Value="../../../../lcl/include/wincontrol.inc"/> <Filename Value="../../../../lcl/include/wincontrol.inc"/>
<CursorPos X="1" Y="7236"/>
<TopLine Value="7217"/> <TopLine Value="7217"/>
<CursorPos X="1" Y="7236"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit10> </Unit10>
<Unit11> <Unit11>
<Filename Value="../../../../lcl/include/control.inc"/> <Filename Value="../../../../lcl/include/control.inc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit11> </Unit11>
<Unit12> <Unit12>
<Filename Value="../../../../lcl/lclmessageglue.pas"/> <Filename Value="../../../../lcl/lclmessageglue.pas"/>
<UnitName Value="LCLMessageGlue"/> <UnitName Value="LCLMessageGlue"/>
<CursorPos X="46" Y="96"/>
<TopLine Value="92"/> <TopLine Value="92"/>
<CursorPos X="46" Y="96"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit12> </Unit12>
<Unit13> <Unit13>
<Filename Value="../../../../lcl/controls.pp"/> <Filename Value="../../../../lcl/controls.pp"/>
<UnitName Value="Controls"/> <UnitName Value="Controls"/>
<CursorPos X="60" Y="1798"/>
<TopLine Value="1779"/> <TopLine Value="1779"/>
<CursorPos X="60" Y="1798"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit13> </Unit13>
<Unit14> <Unit14>
<Filename Value="../../../../../../install/2/rxdbgrid.diff"/> <Filename Value="../../../../../../install/2/rxdbgrid.diff"/>
<CursorPos X="1" Y="21"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<UsageCount Value="9"/> <CursorPos X="1" Y="21"/>
<SyntaxHighlighter Value="None"/> <SyntaxHighlighter Value="None"/>
<UsageCount Value="9"/>
</Unit14> </Unit14>
<Unit15> <Unit15>
<Filename Value="../../../../lcl/interfaces/gtk/gtkdevicecontext.inc"/> <Filename Value="../../../../lcl/interfaces/gtk/gtkdevicecontext.inc"/>
<CursorPos X="1" Y="644"/>
<TopLine Value="626"/> <TopLine Value="626"/>
<CursorPos X="1" Y="644"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit15> </Unit15>
<Unit16> <Unit16>
<Filename Value="../../../../lcl/interfaces/gtk2/gtk2winapi.inc"/> <Filename Value="../../../../lcl/interfaces/gtk2/gtk2winapi.inc"/>
<CursorPos X="1" Y="577"/>
<TopLine Value="559"/> <TopLine Value="559"/>
<CursorPos X="1" Y="577"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit16> </Unit16>
<Unit17> <Unit17>
@@ -183,76 +184,76 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="rxdbgrid_columsunit"/> <UnitName Value="rxdbgrid_columsunit"/>
<CursorPos X="46" Y="45"/>
<TopLine Value="26"/> <TopLine Value="26"/>
<CursorPos X="46" Y="45"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit17> </Unit17>
<Unit18> <Unit18>
<Filename Value="../../rxdconst.pas"/> <Filename Value="../../rxdconst.pas"/>
<UnitName Value="rxdconst"/> <UnitName Value="rxdconst"/>
<CursorPos X="15" Y="155"/>
<TopLine Value="126"/> <TopLine Value="126"/>
<CursorPos X="15" Y="155"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit18> </Unit18>
<Unit19> <Unit19>
<Filename Value="../../../../lcl/include/winapih.inc"/> <Filename Value="../../../../lcl/include/winapih.inc"/>
<CursorPos X="10" Y="223"/>
<TopLine Value="211"/> <TopLine Value="211"/>
<CursorPos X="10" Y="223"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit19> </Unit19>
<Unit20> <Unit20>
<Filename Value="../../backup/rxdbgrid.pas"/> <Filename Value="../../backup/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/> <UnitName Value="rxdbgrid"/>
<CursorPos X="1" Y="1227"/>
<TopLine Value="1207"/> <TopLine Value="1207"/>
<CursorPos X="1" Y="1227"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit20> </Unit20>
<Unit21> <Unit21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutdialog.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxaboutdialog.pas"/>
<UnitName Value="RxAboutDialog"/> <UnitName Value="RxAboutDialog"/>
<CursorPos X="73" Y="30"/>
<TopLine Value="10"/> <TopLine Value="10"/>
<CursorPos X="73" Y="30"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit21> </Unit21>
<Unit22> <Unit22>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrx.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/registerrx.pas"/>
<UnitName Value="registerrx"/> <UnitName Value="registerrx"/>
<CursorPos X="18" Y="201"/>
<TopLine Value="174"/> <TopLine Value="174"/>
<CursorPos X="18" Y="201"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit22> </Unit22>
<Unit23> <Unit23>
<Filename Value="/usr/local/share/lazarus/ideintf/idewindowintf.pas"/> <Filename Value="/usr/local/share/lazarus/ideintf/idewindowintf.pas"/>
<UnitName Value="IDEWindowIntf"/> <UnitName Value="IDEWindowIntf"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="31"/> <TopLine Value="31"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit23> </Unit23>
<Unit24> <Unit24>
<Filename Value="/usr/local/share/lazarus/lcl/extdlgs.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/extdlgs.pas"/>
<UnitName Value="ExtDlgs"/> <UnitName Value="ExtDlgs"/>
<CursorPos X="35" Y="122"/>
<TopLine Value="105"/> <TopLine Value="105"/>
<CursorPos X="35" Y="122"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit24> </Unit24>
<Unit25> <Unit25>
<Filename Value="/usr/local/share/lazarus/lcl/dialogs.pp"/> <Filename Value="/usr/local/share/lazarus/lcl/dialogs.pp"/>
<UnitName Value="Dialogs"/> <UnitName Value="Dialogs"/>
<CursorPos X="21" Y="79"/>
<TopLine Value="62"/> <TopLine Value="62"/>
<CursorPos X="21" Y="79"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit25> </Unit25>
<Unit26> <Unit26>
<Filename Value="/usr/local/share/lazarus/lcl/include/commondialog.inc"/> <Filename Value="/usr/local/share/lazarus/lcl/include/commondialog.inc"/>
<CursorPos X="17" Y="84"/>
<TopLine Value="80"/> <TopLine Value="80"/>
<CursorPos X="17" Y="84"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit26> </Unit26>
<Unit27> <Unit27>
<Filename Value="/usr/local/share/lazarus/lcl/widgetset/wsdialogs.pp"/> <Filename Value="/usr/local/share/lazarus/lcl/widgetset/wsdialogs.pp"/>
<UnitName Value="WSDialogs"/> <UnitName Value="WSDialogs"/>
<CursorPos X="3" Y="136"/>
<TopLine Value="132"/> <TopLine Value="132"/>
<CursorPos X="3" Y="136"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit27> </Unit27>
<Unit28> <Unit28>
@@ -260,48 +261,52 @@
<ComponentName Value="rxAboutFormForm"/> <ComponentName Value="rxAboutFormForm"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="rxAboutFormUnit"/> <UnitName Value="rxAboutFormUnit"/>
<CursorPos X="26" Y="55"/>
<TopLine Value="41"/> <TopLine Value="41"/>
<CursorPos X="26" Y="55"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit28> </Unit28>
<Unit29> <Unit29>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxversinfo.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxversinfo.pas"/>
<UnitName Value="RxVersInfo"/> <UnitName Value="RxVersInfo"/>
<CursorPos X="49" Y="105"/>
<TopLine Value="72"/> <TopLine Value="72"/>
<CursorPos X="49" Y="105"/>
<UsageCount Value="9"/> <UsageCount Value="9"/>
</Unit29> </Unit29>
<Unit30> <Unit30>
<Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/> <Filename Value="/usr/local/share/lazarus/lcl/include/control.inc"/>
<CursorPos X="1" Y="3167"/> <WindowIndex Value="0"/>
<TopLine Value="3150"/> <TopLine Value="3150"/>
<UsageCount Value="9"/> <CursorPos X="89" Y="3171"/>
<UsageCount Value="10"/>
</Unit30> </Unit30>
<Unit31> <Unit31>
<Filename Value="/usr/local/share/lazarus/lcl/buttonpanel.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/buttonpanel.pas"/>
<UnitName Value="ButtonPanel"/> <UnitName Value="ButtonPanel"/>
<CursorPos X="6" Y="15"/>
<TopLine Value="11"/> <TopLine Value="11"/>
<CursorPos X="6" Y="15"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit31> </Unit31>
<Unit32> <Unit32>
<Filename Value="/usr/local/share/lazarus/lcl/extctrls.pp"/> <Filename Value="/usr/local/share/lazarus/lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/> <UnitName Value="ExtCtrls"/>
<CursorPos X="15" Y="607"/>
<TopLine Value="604"/> <TopLine Value="604"/>
<CursorPos X="15" Y="607"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit32> </Unit32>
<Unit33> <Unit33>
<Filename Value="/usr/local/share/lazarus/lcl/include/customimage.inc"/> <Filename Value="/usr/local/share/lazarus/lcl/include/customimage.inc"/>
<CursorPos X="3" Y="69"/>
<TopLine Value="67"/> <TopLine Value="67"/>
<CursorPos X="3" Y="69"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit33> </Unit33>
<Unit34> <Unit34>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/> <Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classesh.inc"/>
<CursorPos X="1" Y="1641"/> <EditorIndex Value="5"/>
<TopLine Value="1632"/> <WindowIndex Value="0"/>
<UsageCount Value="9"/> <TopLine Value="472"/>
<CursorPos X="1" Y="491"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit34> </Unit34>
<Unit35> <Unit35>
<Filename Value="../../../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/> <Filename Value="../../../../../smsprog/sms_send_deamon/smsSendGui/smssendaboutunit.pas"/>
@@ -309,22 +314,22 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="smsSendAboutUnit"/> <UnitName Value="smsSendAboutUnit"/>
<CursorPos X="1" Y="57"/>
<TopLine Value="28"/> <TopLine Value="28"/>
<CursorPos X="1" Y="57"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit35> </Unit35>
<Unit36> <Unit36>
<Filename Value="../../../../../smsprog/sms_shared/smsabstarctconstunit.pas"/> <Filename Value="../../../../../smsprog/sms_shared/smsabstarctconstunit.pas"/>
<UnitName Value="smsAbstarctConstUnit"/> <UnitName Value="smsAbstarctConstUnit"/>
<CursorPos X="42" Y="11"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="42" Y="11"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit36> </Unit36>
<Unit37> <Unit37>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxconst.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxconst.pas"/>
<UnitName Value="rxconst"/> <UnitName Value="rxconst"/>
<CursorPos X="3" Y="51"/>
<TopLine Value="34"/> <TopLine Value="34"/>
<CursorPos X="3" Y="51"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit37> </Unit37>
<Unit38> <Unit38>
@@ -333,8 +338,8 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="smssendParamsUnit"/> <UnitName Value="smssendParamsUnit"/>
<CursorPos X="34" Y="60"/>
<TopLine Value="49"/> <TopLine Value="49"/>
<CursorPos X="34" Y="60"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit38> </Unit38>
<Unit39> <Unit39>
@@ -343,64 +348,76 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="smsSendDemoMainUnit"/> <UnitName Value="smsSendDemoMainUnit"/>
<CursorPos X="105" Y="29"/>
<TopLine Value="41"/> <TopLine Value="41"/>
<CursorPos X="105" Y="29"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit39> </Unit39>
<Unit40> <Unit40>
<Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/> <Filename Value="../../../rxnet/demo/send_demo/send_demo.lpr"/>
<UnitName Value="send_demo"/> <UnitName Value="send_demo"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit40> </Unit40>
<Unit41> <Unit41>
<Filename Value="../../../../doceditor/lazdeopts.pp"/> <Filename Value="../../../../doceditor/lazdeopts.pp"/>
<UnitName Value="LazDEOpts"/> <UnitName Value="LazDEOpts"/>
<CursorPos X="1" Y="56"/>
<TopLine Value="43"/> <TopLine Value="43"/>
<CursorPos X="1" Y="56"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit41> </Unit41>
<Unit42> <Unit42>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxfileutils.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxfileutils.pas"/>
<UnitName Value="rxFileUtils"/> <UnitName Value="rxFileUtils"/>
<CursorPos X="33" Y="42"/>
<TopLine Value="18"/> <TopLine Value="18"/>
<CursorPos X="33" Y="42"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit42> </Unit42>
<Unit43> <Unit43>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/> <Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<UnitName Value="DBGrids"/> <UnitName Value="DBGrids"/>
<CursorPos X="1" Y="1"/> <EditorIndex Value="2"/>
<TopLine Value="121"/> <WindowIndex Value="0"/>
<TopLine Value="1755"/>
<CursorPos X="36" Y="1773"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit43> </Unit43>
<Unit44> <Unit44>
<Filename Value="/usr/local/share/lazarus/components/rxnew/registerrxdb.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/registerrxdb.pas"/>
<UnitName Value="RegisterRxDB"/> <UnitName Value="RegisterRxDB"/>
<CursorPos X="20" Y="17"/>
<TopLine Value="2"/> <TopLine Value="2"/>
<CursorPos X="20" Y="17"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit44> </Unit44>
<Unit45> <Unit45>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<UnitName Value="rxdbgrid"/> <UnitName Value="rxdbgrid"/>
<CursorPos X="61" Y="496"/> <IsVisibleTab Value="True"/>
<TopLine Value="481"/> <EditorIndex Value="1"/>
<UsageCount Value="10"/> <WindowIndex Value="0"/>
<TopLine Value="78"/>
<CursorPos X="21" Y="113"/>
<UsageCount Value="12"/>
<Bookmarks Count="3">
<Item0 X="3" Y="3550" ID="2"/>
<Item1 X="3" Y="2199" ID="3"/>
<Item2 X="3" Y="2774" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit45> </Unit45>
<Unit46> <Unit46>
<Filename Value="/usr/local/share/lazarus/ideintf/dbpropedits.pas"/> <Filename Value="/usr/local/share/lazarus/ideintf/dbpropedits.pas"/>
<UnitName Value="DBPropEdits"/> <UnitName Value="DBPropEdits"/>
<CursorPos X="6" Y="19"/>
<TopLine Value="13"/> <TopLine Value="13"/>
<CursorPos X="6" Y="19"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit46> </Unit46>
<Unit47> <Unit47>
<Filename Value="/usr/local/share/lazarus/ideintf/propedits.pp"/> <Filename Value="/usr/local/share/lazarus/ideintf/propedits.pp"/>
<UnitName Value="PropEdits"/> <UnitName Value="PropEdits"/>
<CursorPos X="6" Y="26"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="6" Y="26"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit47> </Unit47>
<Unit48> <Unit48>
@@ -409,8 +426,8 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="rxdbgrid_findunit"/> <UnitName Value="rxdbgrid_findunit"/>
<CursorPos X="1" Y="94"/>
<TopLine Value="78"/> <TopLine Value="78"/>
<CursorPos X="1" Y="94"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit48> </Unit48>
<Unit49> <Unit49>
@@ -419,53 +436,223 @@
<HasResources Value="True"/> <HasResources Value="True"/>
<ResourceBaseClass Value="Form"/> <ResourceBaseClass Value="Form"/>
<UnitName Value="rxdbgrid_columsunit"/> <UnitName Value="rxdbgrid_columsunit"/>
<CursorPos X="25" Y="1"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<CursorPos X="25" Y="1"/>
<UsageCount Value="10"/> <UsageCount Value="10"/>
</Unit49> </Unit49>
<Unit50> <Unit50>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxtoolbar.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxtoolbar.pas"/>
<UnitName Value="rxtoolbar"/> <UnitName Value="rxtoolbar"/>
<CursorPos X="52" Y="26"/> <WindowIndex Value="0"/>
<TopLine Value="1"/> <TopLine Value="1"/>
<EditorIndex Value="1"/> <CursorPos X="52" Y="26"/>
<UsageCount Value="12"/>
</Unit50>
<Unit51>
<Filename Value="/usr/local/share/lazarus/components/synedit/synedit.pp"/>
<UnitName Value="SynEdit"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="5699"/>
<CursorPos X="1" Y="5702"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="12"/> <UsageCount Value="12"/>
<Loaded Value="True"/> <Loaded Value="True"/>
</Unit50> <DefaultSyntaxHighlighter Value="Text"/>
</Unit51>
<Unit52>
<Filename Value="/usr/local/share/lazarus/components/synedit/syneditkeycmds.pp"/>
<UnitName Value="SynEditKeyCmds"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="750"/>
<CursorPos X="3" Y="752"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit52>
<Unit53>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/classes.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="429"/>
<CursorPos X="33" Y="447"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit53>
<Unit54>
<Filename Value="/usr/local/share/lazarus/lcl/actnlist.pas"/>
<UnitName Value="ActnList"/>
<WindowIndex Value="0"/>
<TopLine Value="206"/>
<CursorPos X="33" Y="224"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit54>
<Unit55>
<Filename Value="/usr/local/share/lazarus/lcl/lclproc.pas"/>
<UnitName Value="LCLProc"/>
<WindowIndex Value="0"/>
<TopLine Value="1154"/>
<CursorPos X="10" Y="1165"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit55>
<Unit56>
<Filename Value="rxdbgridmainunit.lfm"/>
<WindowIndex Value="0"/>
<TopLine Value="100"/>
<CursorPos X="5" Y="103"/>
<SyntaxHighlighter Value="LFM"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit56>
<Unit57>
<Filename Value="/usr/local/share/lazarus/components/rxnew/Demos/RxDBGrid/RxDBGridDemo.lpr"/>
<UnitName Value="RxDBGridDemo"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="15"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="10"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit57>
<Unit58>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<TopLine Value="286"/>
<CursorPos X="1" Y="288"/>
<SyntaxHighlighter Value="FreePascal"/>
<UsageCount Value="11"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="Text"/>
</Unit58>
</Units> </Units>
<JumpHistory Count="8" HistoryIndex="7"> <JumpHistory Count="30" HistoryIndex="29">
<Position1> <Position1>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="87" Column="23" TopLine="54"/> <Caret Line="373" Column="15" TopLine="355"/>
</Position1> </Position1>
<Position2> <Position2>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="96" Column="92" TopLine="71"/> <Caret Line="477" Column="74" TopLine="464"/>
</Position2> </Position2>
<Position3> <Position3>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="97" Column="92" TopLine="71"/> <Caret Line="1045" Column="19" TopLine="1038"/>
</Position3> </Position3>
<Position4> <Position4>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="10" Column="8" TopLine="1"/> <Caret Line="477" Column="76" TopLine="463"/>
</Position4> </Position4>
<Position5> <Position5>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="9" Column="12" TopLine="1"/> <Caret Line="2839" Column="19" TopLine="2814"/>
</Position5> </Position5>
<Position6> <Position6>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="10" Column="9" TopLine="1"/> <Caret Line="441" Column="32" TopLine="418"/>
</Position6> </Position6>
<Position7> <Position7>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="9" Column="28" TopLine="1"/> <Caret Line="2769" Column="21" TopLine="2769"/>
</Position7> </Position7>
<Position8> <Position8>
<Filename Value="rxdbgridmainunit.pas"/> <Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="9" Column="28" TopLine="1"/> <Caret Line="1" Column="1" TopLine="1"/>
</Position8> </Position8>
<Position9>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="441" Column="22" TopLine="423"/>
</Position9>
<Position10>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2769" Column="28" TopLine="2751"/>
</Position10>
<Position11>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2772" Column="13" TopLine="2754"/>
</Position11>
<Position12>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="229" Column="15" TopLine="211"/>
</Position12>
<Position13>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3543" Column="4" TopLine="3538"/>
</Position13>
<Position14>
<Filename Value="../../../../../../install/fpcsrc/rtl/objpas/classes/collect.inc"/>
<Caret Line="50" Column="20" TopLine="42"/>
</Position14>
<Position15>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="124" Column="55" TopLine="103"/>
</Position15>
<Position16>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="2774" Column="3" TopLine="2756"/>
</Position16>
<Position17>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3571" Column="37" TopLine="3553"/>
</Position17>
<Position18>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="3552" Column="85" TopLine="3549"/>
</Position18>
<Position19>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="132" Column="74" TopLine="100"/>
</Position19>
<Position20>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="134" Column="74" TopLine="102"/>
</Position20>
<Position21>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="570" Column="16" TopLine="538"/>
</Position21>
<Position22>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="457" Column="84" TopLine="439"/>
</Position22>
<Position23>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="561" Column="26" TopLine="543"/>
</Position23>
<Position24>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="1773" Column="27" TopLine="1757"/>
</Position24>
<Position25>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position25>
<Position26>
<Filename Value="/usr/local/share/lazarus/lcl/dbgrids.pas"/>
<Caret Line="413" Column="26" TopLine="395"/>
</Position26>
<Position27>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="152" Column="1" TopLine="150"/>
</Position27>
<Position28>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="151" Column="1" TopLine="149"/>
</Position28>
<Position29>
<Filename Value="rxdbgridmainunit.pas"/>
<Caret Line="157" Column="15" TopLine="148"/>
</Position29>
<Position30>
<Filename Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Caret Line="480" Column="36" TopLine="474"/>
</Position30>
</JumpHistory> </JumpHistory>
</ProjectOptions> </ProjectOptions>
<CompilerOptions> <CompilerOptions>
@@ -489,13 +676,23 @@
</Other> </Other>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Watches Count="2"> <BreakPoints Count="1">
<Item1>
<Source Value="/usr/local/share/lazarus/components/rxnew/rxdbgrid.pas"/>
<Line Value="1043"/>
</Item1>
</BreakPoints>
<Watches Count="3">
<Item1> <Item1>
<Expression Value="W"/> <Expression Value="W"/>
</Item1> </Item1>
<Item2> <Item2>
<Expression Value="aRect"/> <Expression Value="aRect"/>
</Item2> </Item2>
<Item3>
<Expression Value="K.Enabled)"/>
<Enabled Value="False"/>
</Item3>
</Watches> </Watches>
<Exceptions Count="1"> <Exceptions Count="1">
<Item1> <Item1>

View File

@@ -1,20 +1,20 @@
object RxDBGridMainForm: TRxDBGridMainForm object RxDBGridMainForm: TRxDBGridMainForm
Left = 286 Left = 295
Height = 609 Height = 786
Top = 158 Top = 147
Width = 969 Width = 1012
ActiveControl = Panel1 ActiveControl = Panel1
Caption = 'RxDBGrid Demo' Caption = 'RxDBGrid Demo'
ClientHeight = 586 ClientHeight = 761
ClientWidth = 969 ClientWidth = 1012
Menu = MainMenu1 Menu = MainMenu1
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '0.9.29' LCLVersion = '0.9.29'
object RxDBGrid1: TRxDBGrid object RxDBGrid1: TRxDBGrid
Left = 0 Left = 0
Height = 519 Height = 692
Top = 67 Top = 69
Width = 969 Width = 1012
TitleButtons = True TitleButtons = True
AutoSort = True AutoSort = True
Columns = < Columns = <
@@ -118,9 +118,40 @@ object RxDBGridMainForm: TRxDBGridMainForm
Filter.EmptyFont.Style = [fsItalic] Filter.EmptyFont.Style = [fsItalic]
Filter.ItemIndex = -1 Filter.ItemIndex = -1
end> end>
KeyStrokes = <
item
Command = rxgcShowFindDlg
ShortCut = 57414
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>
PropertyStorage = XMLPropStorage1 PropertyStorage = XMLPropStorage1
Version = 1 Version = 1
OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgFooterRows, rdgAllowQuickSearch, rdgAllowToolMenu] OptionsRx = [rdgAllowColumnsForm, rdgAllowDialogFind, rdgDblClickOptimizeColWidth, rdgFooterRows, rdgAllowQuickSearch, rdgAllowToolMenu]
FooterColor = clYellow FooterColor = clYellow
FooterRowCount = 1 FooterRowCount = 1
OnFiltred = RxDBGrid1Filtred OnFiltred = RxDBGrid1Filtred
@@ -137,13 +168,13 @@ object RxDBGridMainForm: TRxDBGridMainForm
end end
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Height = 67 Height = 69
Top = 0 Top = 0
Width = 969 Width = 1012
Align = alTop Align = alTop
AutoSize = True AutoSize = True
ClientHeight = 67 ClientHeight = 69
ClientWidth = 969 ClientWidth = 1012
TabOrder = 1 TabOrder = 1
object Label1: TLabel object Label1: TLabel
AnchorSideLeft.Control = Button2 AnchorSideLeft.Control = Button2
@@ -188,9 +219,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideTop.Control = CheckBox2 AnchorSideTop.Control = CheckBox2
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 500 Left = 500
Height = 19 Height = 22
Top = 31 Top = 34
Width = 82 Width = 86
BorderSpacing.Left = 6 BorderSpacing.Left = 6
Caption = 'Use filter' Caption = 'Use filter'
OnChange = CheckBox1Change OnChange = CheckBox1Change
@@ -221,9 +252,9 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 500 Left = 500
Height = 19 Height = 22
Top = 6 Top = 6
Width = 134 Width = 138
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Auto fill columns' Caption = 'Auto fill columns'
OnChange = CheckBox2Change OnChange = CheckBox2Change
@@ -233,10 +264,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Control = CheckBox2 AnchorSideLeft.Control = CheckBox2
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = Panel1 AnchorSideTop.Control = Panel1
Left = 640 Left = 644
Height = 19 Height = 22
Top = 6 Top = 6
Width = 121 Width = 125
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show indicator' Caption = 'Show indicator'
Checked = True Checked = True
@@ -249,10 +280,10 @@ object RxDBGridMainForm: TRxDBGridMainForm
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = CheckBox3 AnchorSideTop.Control = CheckBox3
AnchorSideTop.Side = asrBottom AnchorSideTop.Side = asrBottom
Left = 640 Left = 644
Height = 19 Height = 22
Top = 31 Top = 34
Width = 119 Width = 123
BorderSpacing.Around = 6 BorderSpacing.Around = 6
Caption = 'Show headers' Caption = 'Show headers'
Checked = True Checked = True
@@ -603,6 +634,7 @@ object RxDBGridMainForm: TRxDBGridMainForm
Caption = 'System' Caption = 'System'
object MenuItem11: TMenuItem object MenuItem11: TMenuItem
Action = sysExit Action = sysExit
OnClick = sysExitExecute
end end
end end
object MenuItem9: TMenuItem object MenuItem9: TMenuItem

View File

@@ -131,6 +131,8 @@ begin
// DoFillFilters; // DoFillFilters;
RxMemoryData1.First; RxMemoryData1.First;
RxDBGrid1.CalcStatTotals; //fix error in GotoBookmark RxDBGrid1.CalcStatTotals; //fix error in GotoBookmark
end; end;
procedure TRxDBGridMainForm.hlpAboutExecute(Sender: TObject); procedure TRxDBGridMainForm.hlpAboutExecute(Sender: TObject);
@@ -143,6 +145,7 @@ begin
RxMemoryData1.First; RxMemoryData1.First;
end; end;
procedure TRxDBGridMainForm.RxMemoryData1FilterRecordEx(DataSet: TDataSet; procedure TRxDBGridMainForm.RxMemoryData1FilterRecordEx(DataSet: TDataSet;
var Accept: Boolean); var Accept: Boolean);
var var

View File

@@ -82,68 +82,6 @@
+ add new component - TAutoPanel ( Dmitry V. Bolshakov) - + add new component - TAutoPanel ( Dmitry V. Bolshakov) -
doc ifn folder auto_panel_doc doc ifn folder auto_panel_doc
+ in property OptionsRX add new flag - rdgMrOkOnDblClik + in property OptionsRX add new flag - rdgMrOkOnDblClik
25.06.2007 - version 1.1.3.86
- fix error in TRxMemoryData.SortOnFields
+ add sorting in RxDBGrid for TRxMemoryData
- use module rxsortmemds
+ In RxDBGrid add procedure UpdateTitleHight - direc recalc title hight
- fix error RxDBGrid on press on last collumn title
+ in RxDBGrid � ��������� ������� ᯥ樠�쭠� ��ࠡ�⪠ ᨬ���� | - ���
���⠥��� ����᫮���� ࠧ����⥫� ��ப
+ � RxDBGrid.OptionsRx �������� 䫠� rdgMultiTitleLines -
��� ����稨 � ��������� ᨬ���� | ����� ��ப��� �������� ࠧ����⥫쭠�
�����
+ � rx.inc ���� ����� ��४⨢㪮�����樨
NEW_STYLE_TITLE_ALIGNMENT_RXDBGRID
�᫨ ��� ��।����, �� ��� ᮧ����� ����� ������� � RxDBGrid ��������� 業���������,
�᫨ ��� ��४⨢� �� ��।����� - �� ��������� ��������� �⠭���⭮� - ��ࠢ��������
�� ������ ����
+ in TRxDBLookupCombo �᫨ � ᢮��⢥ PopUpFormOptions ������ ������� �� ��� ����ᮢ�� ������
� ��ப� �ᯮ�������� ��ਭ�, 㪠������ � ��������
+ in TRxDBLookupCombo after close popup window saved width of collumn
31.05.2007 - version 1.1.2.77
- fix compile error in rxtoolbar.pas - TToolPanel not work this theme manager :-(
- fix compile error in rxlogin.pas - error in SetCursor
15.05.2007 - version 1.1.1.75
+ in RxDBGrid add procedure OptimizeColumnsWidth(AColList:String) - calc width of
column
+ in RxDBGrid add procedure OptimizeColumnsWidthAll - calc width for all columns
+ in TRxColumn add procedure OptimizeWidth - calc width of column
+ option rdgDblClickOptimizeColWidth in RxDBGrid.OptionsRx now work
- fix calc height title column for for RxDBGrid
- fix open demo for RxDBGrid
+ in demo for RxDBGrid add code for OptimizeWidth procedure
28.03.2007 - version 1.1.0.68
- In RxDBGrid fix draw summary footer line on resize collumns
+ In RxDBGrid in property OptionsRx add new value rdgXORColSizing
- change draw code for footer line (code from Yogrik)
+ minor fix on reposition button in ToolBar
+ in TRxDBLookupCombo fix draw dropdown box
+ in TRxColumnTitle add property Hint and ShowHint
+ In TRxDBGrid add filtrenig (code from Yogrik)
01.11.2006 - version 1.0.19.61
+ In dropdown box from TRxDBLookupCombo write fast find in collumn on press keys
+ In RxDBGrid add summary footer line. Warning: not work aggregate function
(SUM, MAX, MIN, AVG) - error in TDataSet
+ In TRxMemoryData create method AppendRecord - AppendRecord from TDataSet not work :-(
+ New demo app - RxDBGrid
- In RxDBGrid fix call OnDrawColumnCell
08.09.2006 - version 1.0.18.56
+ In component TToolPanel add new property ButtonAllign = (tbaNone, tbaLeft, tbaRignt)
default align for button
+ Object TToolbarItem (button on ToolBar) process type tbrSeparator -
the button appears as an empty space on the toolbar (used to separate other controls).
+ On close drop down in TRxDBLookupCombo repaint parent of component
19.08.2006 - version 1.0.17.53
+ change default style of window frame in TRxDBLookupCombo to bsNone
+ single mouse click in TRxDBLookupCombo closes it's
- fix work ESK key in TRxDBLookupCombo
+ In RxDBLookupCombo not fire event OnChange
15.05.2006 - version 1.0.16.49
+ rewrite dropdown box for component TRxDBLookupCombo
+ for TRxDBLookupCombo add new property - PopUpFormOptions - all parametrs for
dropdown list
Lagunov Aleksey (alexs) Lagunov Aleksey (alexs)

View File

@@ -61,7 +61,9 @@
+ Новая компонента TRxAboutDialog - окно для отображения информации о программе (пример смотреть в демке по RxDBGrid-у) + Новая компонента TRxAboutDialog - окно для отображения информации о программе (пример смотреть в демке по RxDBGrid-у)
+ Добавлена поддержка компиляции под WinCE + Добавлена поддержка компиляции под WinCE
- Исправлена ошибка автоподбора ширины колонки при двойном щелчке по заголвку колонки - Исправлена ошибка автоподбора ширины колонки при двойном щелчке по заголвку колонки
+ При подсчёте итоговой строки нк вызываются лишние просчёты по данным (если нет агрегатных функций) + При подсчёте итоговой строки не вызываются лишние просчёты по данным (если нет агрегатных функций)
+ Для RXDbGrid-а реализована система назначения функциональных клавиш на вызов функций (сортировка, фильтрация и т.д.)
добавлено новое свойство KeyStrokes
22.05.2008 - версия 2.0.0.136 (svn revision 100) 22.05.2008 - версия 2.0.0.136 (svn revision 100)
+ У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink + У объекта TRxCustomDBLookupCombo введён контроль на CircularDataLink
+ У объекта TRxCustomDBLookupCombo ускорена отрисовка данных + У объекта TRxCustomDBLookupCombo ускорена отрисовка данных

View File

@@ -62,4 +62,5 @@
После успешного завершения поиска вызывается событие AfterQuickUTF8Search, куда передаётся в После успешного завершения поиска вызывается событие AfterQuickUTF8Search, куда передаётся в
качестве AValue предыдущая подстрока поиска. Последнее событие удобно использовать для качестве AValue предыдущая подстрока поиска. Последнее событие удобно использовать для
отображения где ни будь на общей форме текущий подстроки поиска. отображения где ни будь на общей форме текущий подстроки поиска.
7. Вопросы задавать мылом или на форуме FreePascal.ru (предпочтительней) 7. Вопросы задавать мылом или на форуме FreePascal.ru (предпочтительней)

View File

@@ -160,6 +160,7 @@
<link id="TRxDBGrid">RxDBGrid</link>-а.</p> <link id="TRxDBGrid">RxDBGrid</link>-а.</p>
</descr> </descr>
</element> </element>
@@ -560,6 +561,7 @@
<link id="TRxDBGrid">RxDBGrid</link>-а.</p> <link id="TRxDBGrid">RxDBGrid</link>-а.</p>
</descr> </descr>
<seealso> <seealso>
@@ -625,6 +627,32 @@
<short>Тип описывает событие, возникающее в момент показа выпадающего списка лукапного редактора значения ячейки</short> <short>Тип описывает событие, возникающее в момент показа выпадающего списка лукапного редактора значения ячейки</short>
<descr>Тип описывает событие, возникающее в момент показа выпадающего списка лукапного редактора значения ячейки</descr> <descr>Тип описывает событие, возникающее в момент показа выпадающего списка лукапного редактора значения ячейки</descr>
</element> </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>
<module name="rxctrls"> <module name="rxctrls">
<element name="TRxLabel"> <element name="TRxLabel">
@@ -1116,6 +1144,7 @@ TRxDBCalcEdit является наследником TDBCalcEdit и имеет
<b>Count</b> <b>Count</b>
@@ -2392,6 +2421,7 @@ Description
<b>const</b> SearchDomain, FileName: <b>const</b> SearchDomain, FileName:
@@ -2411,6 +2441,7 @@ Description
<b>String</b>; <b>String</b>;
@@ -2430,6 +2461,7 @@ Description
<b>out</b> UserName, DomainName: <b>out</b> UserName, DomainName:
@@ -2449,6 +2481,7 @@ Description
<b>String</b>); <b>String</b>);
</p> </p>
<p>Процедура возвращает имя и домен пользователя операционной системы владельца указанного файла. </p> <p>Процедура возвращает имя и домен пользователя операционной системы владельца указанного файла. </p>
@@ -2485,6 +2518,7 @@ Description
<b>const</b> DirName: <b>const</b> DirName:
@@ -2498,6 +2532,7 @@ Description
<b>string</b>): <b>string</b>):
@@ -2511,6 +2546,7 @@ Description
<b>string</b>;</p> <b>string</b>;</p>
<p>Функция проверяет все разделители каталогов в указанном имени файла/каталога и, если нужно, меняет их на значение константы<b>DirectorySeparator</b>.</p> <p>Функция проверяет все разделители каталогов в указанном имени файла/каталога и, если нужно, меняет их на значение константы<b>DirectorySeparator</b>.</p>
</descr> </descr>
@@ -2538,6 +2574,7 @@ Description
<b>string</b>;</p> <b>string</b>;</p>
<p>Функция <b>GetUserName</b> возвращает имя оператора, залогиненго в системе</p> <p>Функция <b>GetUserName</b> возвращает имя оператора, залогиненго в системе</p>
</descr> </descr>

View File

@@ -45,11 +45,13 @@ type
TRxAboutDialog = class(TComponent) TRxAboutDialog = class(TComponent)
private private
FAdditionalInfo: TStrings;
FApplicationTitle: string; FApplicationTitle: string;
FCaption: string; FCaption: string;
FLicenseFileName: string; FLicenseFileName: string;
FOptions: TRxAboutDialogOptions; FOptions: TRxAboutDialogOptions;
FPicture: TPicture; FPicture: TPicture;
procedure SetAdditionalInfo(const AValue: TStrings);
procedure SetPicture(const AValue: TPicture); procedure SetPicture(const AValue: TPicture);
procedure SetRxAboutDialogOptions(const AValue: TRxAboutDialogOptions); procedure SetRxAboutDialogOptions(const AValue: TRxAboutDialogOptions);
protected protected
@@ -64,6 +66,7 @@ type
property LicenseFileName:string read FLicenseFileName write FLicenseFileName; property LicenseFileName:string read FLicenseFileName write FLicenseFileName;
property Caption:string read FCaption write FCaption; property Caption:string read FCaption write FCaption;
property Picture: TPicture read FPicture write SetPicture; property Picture: TPicture read FPicture write SetPicture;
property AdditionalInfo:TStrings read FAdditionalInfo write SetAdditionalInfo;
end; end;
@@ -85,15 +88,22 @@ begin
FPicture.Assign(AValue); FPicture.Assign(AValue);
end; end;
procedure TRxAboutDialog.SetAdditionalInfo(const AValue: TStrings);
begin
FAdditionalInfo.Assign(AValue);
end;
constructor TRxAboutDialog.Create(AOwner: TComponent); constructor TRxAboutDialog.Create(AOwner: TComponent);
begin begin
inherited Create(AOwner); inherited Create(AOwner);
FPicture := TPicture.Create; FPicture := TPicture.Create;
FCaption:=sAbout; FCaption:=sAbout;
FAdditionalInfo:= TStringList.Create;
end; end;
destructor TRxAboutDialog.Destroy; destructor TRxAboutDialog.Destroy;
begin begin
FAdditionalInfo.Free;
FPicture.Graphic := nil; FPicture.Graphic := nil;
FPicture.Free; FPicture.Free;
inherited Destroy; inherited Destroy;
@@ -126,6 +136,8 @@ begin
begin begin
end; end;
rxAboutFormForm.Memo2.Lines.Assign(FAdditionalInfo);
try try
rxAboutFormForm.ShowModal; rxAboutFormForm.ShowModal;
finally finally

View File

@@ -3,7 +3,6 @@ object rxAboutFormForm: TrxAboutFormForm
Height = 386 Height = 386
Top = 349 Top = 349
Width = 498 Width = 498
ActiveControl = PageControl1
Caption = 'rxAboutFormForm' Caption = 'rxAboutFormForm'
ClientHeight = 386 ClientHeight = 386
ClientWidth = 498 ClientWidth = 498
@@ -12,17 +11,17 @@ object rxAboutFormForm: TrxAboutFormForm
LCLVersion = '0.9.29' LCLVersion = '0.9.29'
object PageControl1: TPageControl object PageControl1: TPageControl
Left = 0 Left = 0
Height = 332 Height = 340
Top = 0 Top = 0
Width = 498 Width = 498
ActivePage = TabSheet2 ActivePage = TabSheet1
Align = alClient Align = alClient
TabIndex = 1 TabIndex = 0
TabOrder = 0 TabOrder = 0
object TabSheet1: TTabSheet object TabSheet1: TTabSheet
Caption = 'General' Caption = 'General'
ClientHeight = 301 ClientHeight = 314
ClientWidth = 494 ClientWidth = 490
object lblAppTitle: TLabel object lblAppTitle: TLabel
AnchorSideLeft.Control = Image1 AnchorSideLeft.Control = Image1
AnchorSideLeft.Side = asrBottom AnchorSideLeft.Side = asrBottom
@@ -30,9 +29,9 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = TabSheet1 AnchorSideRight.Control = TabSheet1
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 18 Height = 14
Top = 6 Top = 6
Width = 348 Width = 344
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 6 BorderSpacing.Around = 6
@@ -57,28 +56,48 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = lblAppTitle AnchorSideRight.Control = lblAppTitle
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 140 Left = 140
Height = 18 Height = 14
Top = 31 Top = 27
Width = 348 Width = 344
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 7 BorderSpacing.Top = 7
Caption = 'Version : ' Caption = 'Version : '
ParentColor = False ParentColor = False
end end
object Memo2: TMemo
AnchorSideLeft.Control = Image1
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = lblVersion
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = TabSheet1
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = TabSheet1
AnchorSideBottom.Side = asrBottom
Left = 140
Height = 273
Top = 41
Width = 350
Anchors = [akTop, akLeft, akRight, akBottom]
BorderStyle = bsNone
ParentColor = True
ReadOnly = True
TabOrder = 0
WordWrap = False
end
end end
object TabSheet2: TTabSheet object TabSheet2: TTabSheet
Caption = 'Detail' Caption = 'Detail'
ClientHeight = 301 ClientHeight = 314
ClientWidth = 494 ClientWidth = 490
object lblBuildDate: TLabel object lblBuildDate: TLabel
AnchorSideLeft.Control = TabSheet2 AnchorSideLeft.Control = TabSheet2
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 18 Height = 14
Top = 6 Top = 6
Width = 494 Width = 490
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@@ -92,9 +111,9 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 18 Height = 14
Top = 30 Top = 26
Width = 494 Width = 490
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@@ -108,9 +127,9 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 18 Height = 14
Top = 54 Top = 46
Width = 494 Width = 490
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@@ -124,9 +143,9 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 18 Height = 14
Top = 78 Top = 66
Width = 494 Width = 490
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@@ -140,9 +159,9 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 18 Height = 14
Top = 102 Top = 86
Width = 494 Width = 490
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@@ -156,9 +175,9 @@ object rxAboutFormForm: TrxAboutFormForm
AnchorSideRight.Control = TabSheet2 AnchorSideRight.Control = TabSheet2
AnchorSideRight.Side = asrBottom AnchorSideRight.Side = asrBottom
Left = 0 Left = 0
Height = 18 Height = 14
Top = 126 Top = 106
Width = 494 Width = 490
Alignment = taCenter Alignment = taCenter
Anchors = [akTop, akLeft, akRight] Anchors = [akTop, akLeft, akRight]
BorderSpacing.Top = 6 BorderSpacing.Top = 6
@@ -185,8 +204,8 @@ object rxAboutFormForm: TrxAboutFormForm
end end
object ButtonPanel1: TButtonPanel object ButtonPanel1: TButtonPanel
Left = 6 Left = 6
Height = 42 Height = 34
Top = 338 Top = 346
Width = 486 Width = 486
TabOrder = 1 TabOrder = 1
ShowButtons = [pbClose, pbHelp] ShowButtons = [pbClose, pbHelp]

View File

@@ -55,6 +55,7 @@ type
lblVersion: TLabel; lblVersion: TLabel;
lblWidgetName: TLabel; lblWidgetName: TLabel;
Memo1: TMemo; Memo1: TMemo;
Memo2: TMemo;
PageControl1: TPageControl; PageControl1: TPageControl;
RxVersionInfo1: TRxVersionInfo; RxVersionInfo1: TRxVersionInfo;
TabSheet1: TTabSheet; TabSheet1: TTabSheet;
@@ -92,8 +93,10 @@ begin
TabSheet1.Caption:=sGeneral; TabSheet1.Caption:=sGeneral;
TabSheet2.Caption:=sDetails; TabSheet2.Caption:=sDetails;
TabSheet3.Caption:=sLicense; TabSheet3.Caption:=sLicense;
Memo2.Color:=TabSheet1.Color;
end; end;
procedure TrxAboutFormForm.LoadLicense(AFileName: string); procedure TrxAboutFormForm.LoadLicense(AFileName: string);
begin begin
if FileExistsUTF8(AFileName) then if FileExistsUTF8(AFileName) then

View File

@@ -87,11 +87,57 @@ type
TDisplayLookup = TNotifyEvent; TDisplayLookup = TNotifyEvent;
// TDataSetClass = class of TDataSet; // TDataSetClass = class of TDataSet;
TRxDBGridCommand = (rxgcNone, rxgcShowFindDlg, rxgcShowColumnsDlg,
rxgcShowFilterDlg, rxgcShowSortDlg, rxgcShowQuickFilter,
rxgcHideQuickFilter
);
{ TRxDBGridKeyStroke }
TRxDBGridKeyStroke = class(TCollectionItem)
private
FCommand: TRxDBGridCommand;
FEnabled: boolean;
FShortCut: TShortCut;
FKey: word; // Virtual keycode, i.e. VK_xxx
FShift: TShiftState;
procedure SetCommand(const AValue: TRxDBGridCommand);
procedure SetShortCut(const AValue: TShortCut);
protected
function GetDisplayName: string; override;
public
//
published
property Command: TRxDBGridCommand read FCommand write SetCommand;
property ShortCut: TShortCut read FShortCut write SetShortCut;
property Enabled:boolean read FEnabled write FEnabled;
end;
{ TRxDBGridKeyStrokes }
TRxDBGridKeyStrokes = class(TCollection)
private
FOwner: TPersistent;
function GetItem(Index: Integer): TRxDBGridKeyStroke;
procedure SetItem(Index: Integer; const AValue: TRxDBGridKeyStroke);
protected
procedure Update(Item: TCollectionItem); override;
public
constructor Create(AOwner: TPersistent);
function Add: TRxDBGridKeyStroke;
function AddE(ACommand: TRxDBGridCommand; AShortCut: TShortCut): TRxDBGridKeyStroke;
procedure ResetDefaults;
function FindRxCommand(AKey:word; AShift: TShiftState):TRxDBGridCommand;
function FindRxKeyStrokes(ACommand:TRxDBGridCommand):TRxDBGridKeyStroke;
public
property Items[Index: Integer]: TRxDBGridKeyStroke read GetItem
write SetItem; default;
end;
TRxColumn = class; TRxColumn = class;
{ TRxDBGridSortEngine } { TRxDBGridSortEngine }
TRxSortEngineOption = TRxSortEngineOption = (seoCaseInsensitiveSort);
(seoCaseInsensitiveSort);
TRxSortEngineOptions = set of TRxSortEngineOption; TRxSortEngineOptions = set of TRxSortEngineOption;
TRxDBGridSortEngine = class TRxDBGridSortEngine = class
@@ -273,6 +319,7 @@ type
FAllowedOperations: TRxDBGridAllowedOperations; FAllowedOperations: TRxDBGridAllowedOperations;
FFooterColor: TColor; FFooterColor: TColor;
FFooterRowCount: integer; FFooterRowCount: integer;
FKeyStrokes: TRxDBGridKeyStrokes;
FOnGetCellProps: TGetCellPropsEvent; FOnGetCellProps: TGetCellPropsEvent;
FOptionsRx: TOptionsRx; FOptionsRx: TOptionsRx;
// FTitleLines: Integer; // FTitleLines: Integer;
@@ -328,6 +375,7 @@ type
procedure SetColumns(const AValue: TRxDbGridColumns); procedure SetColumns(const AValue: TRxDbGridColumns);
procedure SetFooterColor(const AValue: TColor); procedure SetFooterColor(const AValue: TColor);
procedure SetFooterRowCount(const AValue: integer); procedure SetFooterRowCount(const AValue: integer);
procedure SetKeyStrokes(const AValue: TRxDBGridKeyStrokes);
procedure SetOptionsRx(const AValue: TOptionsRx); procedure SetOptionsRx(const AValue: TOptionsRx);
procedure SetPropertyStorage(const AValue: TCustomPropertyStorage); procedure SetPropertyStorage(const AValue: TCustomPropertyStorage);
procedure SetTitleButtons(const AValue: boolean); procedure SetTitleButtons(const AValue: boolean);
@@ -342,6 +390,7 @@ type
procedure OutCaptionSortMarker(const aRect: TRect; ASortMarker: TSortMarker); procedure OutCaptionSortMarker(const aRect: TRect; ASortMarker: TSortMarker);
procedure OutCaptionMLCellText(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState; MLI:TMLCaptionItem); procedure OutCaptionMLCellText(aCol,aRow: Integer; aRect: TRect; aState: TGridDrawState; MLI:TMLCaptionItem);
procedure UpdateJMenuStates; procedure UpdateJMenuStates;
procedure UpdateJMenuKeys;
function SortEngineOptions:TRxSortEngineOptions; function SortEngineOptions:TRxSortEngineOptions;
@@ -391,6 +440,7 @@ type
Procedure OnFilterClose(Sender: TObject); Procedure OnFilterClose(Sender: TObject);
Procedure OnSortBy(Sender: TObject); Procedure OnSortBy(Sender: TObject);
Procedure OnChooseVisibleFields(Sender: TObject); Procedure OnChooseVisibleFields(Sender: TObject);
procedure Loaded; override;
public public
procedure FilterRec(DataSet : TDataSet;var Accept: Boolean); procedure FilterRec(DataSet : TDataSet;var Accept: Boolean);
@@ -427,6 +477,7 @@ type
property OnGetCellProps: TGetCellPropsEvent read FOnGetCellProps property OnGetCellProps: TGetCellPropsEvent read FOnGetCellProps
write FOnGetCellProps; write FOnGetCellProps;
property Columns: TRxDbGridColumns read GetColumns write SetColumns stored IsColumnsStored; property Columns: TRxDbGridColumns read GetColumns write SetColumns stored IsColumnsStored;
property KeyStrokes:TRxDBGridKeyStrokes read FKeyStrokes write SetKeyStrokes;
//storage //storage
property PropertyStorage:TCustomPropertyStorage read GetPropertyStorage write SetPropertyStorage; property PropertyStorage:TCustomPropertyStorage read GetPropertyStorage write SetPropertyStorage;
@@ -490,6 +541,7 @@ type
property TitleStyle; property TitleStyle;
property UseXORFeatures; property UseXORFeatures;
property Visible; property Visible;
property OnCellClick; property OnCellClick;
property OnColEnter; property OnColEnter;
property OnColExit; property OnColExit;
@@ -529,7 +581,19 @@ implementation
uses Math, rxdconst, rxstrutils, rxdbgrid_findunit, rxdbgrid_columsunit, uses Math, rxdconst, rxstrutils, rxdbgrid_findunit, rxdbgrid_columsunit,
rxlookup, tooledit, LCLProc, rxfilterby, rxsortby; rxlookup, tooledit, LCLProc, rxfilterby, rxsortby;
var const
EditorCommandStrs: array[0..6] of TIdentMapEntry =
(
(Value: ord(rxgcNone); Name: 'rxcgNone'),
(Value: ord(rxgcShowFindDlg); Name: 'rxgcShowFindDlg'),
(Value: ord(rxgcShowColumnsDlg); Name: 'rxgcShowColumnsDlg'),
(Value: ord(rxgcShowFilterDlg); Name: 'rxgcShowFilterDlg'),
(Value: ord(rxgcShowSortDlg); Name: 'rxgcShowSortDlg'),
(Value: ord(rxgcShowQuickFilter); Name: 'rxgcShowQuickFilter'),
(Value: ord(rxgcHideQuickFilter); Name: 'rxgcHideQuickFilter')
);
var
RxDBGridSortEngineList:TStringList; RxDBGridSortEngineList:TStringList;
procedure RegisterRxDBGridSortEngine(RxDBGridSortEngineClass:TRxDBGridSortEngineClass; DataSetClass:TDataSetClass); procedure RegisterRxDBGridSortEngine(RxDBGridSortEngineClass:TRxDBGridSortEngineClass; DataSetClass:TDataSetClass);
@@ -974,6 +1038,16 @@ begin
// Invalidate; // Invalidate;
end; end;
procedure TRxDBGrid.SetKeyStrokes(const AValue: TRxDBGridKeyStrokes);
begin
if Assigned(AValue) then
FKeyStrokes.Assign(AValue)
else
FKeyStrokes.Clear;
UpdateJMenuKeys;
end;
procedure TRxDBGrid.SetOptionsRx(const AValue: TOptionsRx); procedure TRxDBGrid.SetOptionsRx(const AValue: TOptionsRx);
var var
OldOpt:TOptionsRx; OldOpt:TOptionsRx;
@@ -1282,6 +1356,28 @@ begin
F_PopupMenu.Items[6].Enabled:=rdgAllowColumnsForm in FOptionsRx; F_PopupMenu.Items[6].Enabled:=rdgAllowColumnsForm in FOptionsRx;
end; end;
procedure TRxDBGrid.UpdateJMenuKeys;
function DoShortCut(Cmd:TRxDBGridCommand):TShortCut;
var
K:TRxDBGridKeyStroke;
begin
K:=FKeyStrokes.FindRxKeyStrokes(Cmd);
if Assigned(K) and K.Enabled then
Result:=K.ShortCut
else
Result:=0;
end;
begin
F_PopupMenu.Items[0].ShortCut:=DoShortCut(rxgcShowFindDlg);
F_PopupMenu.Items[1].ShortCut:=DoShortCut(rxgcShowFilterDlg);
F_PopupMenu.Items[2].ShortCut:=DoShortCut(rxgcShowQuickFilter);
F_PopupMenu.Items[3].ShortCut:=DoShortCut(rxgcHideQuickFilter);
F_PopupMenu.Items[5].ShortCut:=DoShortCut(rxgcShowSortDlg);
F_PopupMenu.Items[6].ShortCut:=DoShortCut(rxgcShowColumnsDlg);
end;
function TRxDBGrid.SortEngineOptions: TRxSortEngineOptions; function TRxDBGrid.SortEngineOptions: TRxSortEngineOptions;
begin begin
Result:=[]; Result:=[];
@@ -2078,58 +2174,34 @@ end;
procedure TRxDBGrid.KeyDown(var Key: Word; Shift: TShiftState); procedure TRxDBGrid.KeyDown(var Key: Word; Shift: TShiftState);
var var
FTmpReadOnly:boolean; FTmpReadOnly:boolean;
procedure DoShowFindDlg;
begin
if not (rdgAllowDialogFind in OptionsRx) then exit;
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
ShowFindDialog;
end;
procedure DoShowColumnsDlg;
begin
if not (rdgAllowColumnsForm in OptionsRx) then exit;
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
ShowColumnsDialog;
end;
procedure DoShowQuickFilter;
begin
if not (rdgAllowQuickFilter in FOptionsRx) then exit;
OnFilter(Self);
end;
begin begin
//DebugLn('RxDBGrid.KeyDown ',Name,' INIT Key= ',IntToStr(Key)); //DebugLn('RxDBGrid.KeyDown ',Name,' INIT Key= ',IntToStr(Key));
if (Key in CCancelQuickSearchKeys) then if (Key in CCancelQuickSearchKeys) then
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := ''; if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
case Key of case Key of
ord('F'):begin
if (ssCtrl in Shift) and (rdgAllowDialogFind in OptionsRx) then
begin
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
ShowFindDialog;
exit;
end;
end;
ord('W'):begin
if (ssCtrl in Shift) and (rdgAllowColumnsForm in OptionsRx) then
begin
if Length(QuickUTF8Search) > 0 then QuickUTF8Search := '';
ShowColumnsDialog;
exit;
end;
end;
VK_DELETE:if not (aoDelete in FAllowedOperations) then exit; VK_DELETE:if not (aoDelete in FAllowedOperations) then exit;
VK_INSERT:if not (aoInsert in FAllowedOperations) then exit; VK_INSERT:if not (aoInsert in FAllowedOperations) then exit;
ord('T'):begin
if ssCtrl in Shift then
begin
OnFilterBy(Self);
exit;
end;
end;
ord('E'):begin
if (ssCtrl in Shift) and (rdgAllowQuickFilter in FOptionsRx) then
begin
OnFilter(Self);
exit;
end;
end;
ord('Q'):begin
if ssCtrl in Shift then
begin
OnFilterClose(Self);
exit;
end;
end;
ord('C'):begin
if ssCtrl in Shift then
begin
OnSortBy(Self);
exit;
end;
end;
VK_RETURN:if (aoAppend in FAllowedOperations) and (EditorMode) and (Col=ColCount-1) and (Row=RowCount-1) then VK_RETURN:if (aoAppend in FAllowedOperations) and (EditorMode) and (Col=ColCount-1) and (Row=RowCount-1) then
if DataSource.DataSet.State=dsInsert then if DataSource.DataSet.State=dsInsert then
begin begin
@@ -2157,6 +2229,20 @@ begin
end; end;
end; end;
inherited KeyDown(Key, Shift); inherited KeyDown(Key, Shift);
if Key <> 0 then
begin
case FKeyStrokes.FindRxCommand(Key, Shift) of
rxgcShowFindDlg : DoShowFindDlg;
rxgcShowColumnsDlg : DoShowColumnsDlg;
rxgcShowFilterDlg : OnFilterBy(Self);
rxgcShowQuickFilter : DoShowQuickFilter;
rxgcHideQuickFilter : OnFilterClose(Self);
rxgcShowSortDlg : OnSortBy(Self);
else
exit;
end;
Key:=0;
end;
end; end;
function TRxDBGrid.CreateColumns: TGridColumns; function TRxDBGrid.CreateColumns: TGridColumns;
@@ -2682,6 +2768,12 @@ begin
ShowColumnsDialog; ShowColumnsDialog;
end; end;
procedure TRxDBGrid.Loaded;
begin
inherited Loaded;
UpdateJMenuKeys;
end;
Procedure TRxDBGrid.GetOnCreateLookup; Procedure TRxDBGrid.GetOnCreateLookup;
begin begin
if Assigned(F_CreateLookup) then if Assigned(F_CreateLookup) then
@@ -2701,6 +2793,9 @@ begin
Options:=Options - [dgCancelOnExit]; Options:=Options - [dgCancelOnExit];
{$ENDIF} {$ENDIF}
FKeyStrokes:=TRxDBGridKeyStrokes.Create(Self);
FKeyStrokes.ResetDefaults;
FMarkerUp := LoadLazResBitmapImage('rx_markerup'); FMarkerUp := LoadLazResBitmapImage('rx_markerup');
FMarkerDown := LoadLazResBitmapImage('rx_markerdown'); FMarkerDown := LoadLazResBitmapImage('rx_markerdown');
Options:=Options - [dgTabs]; Options:=Options - [dgTabs];
@@ -2749,6 +2844,8 @@ begin
FRxDbGridDateEditor:=TRxDBGridDateEditor.Create(nil); FRxDbGridDateEditor:=TRxDBGridDateEditor.Create(nil);
FRxDbGridDateEditor.Name:='RxDbGridDateEditor'; FRxDbGridDateEditor.Name:='RxDbGridDateEditor';
FRxDbGridDateEditor.Visible:=false; FRxDbGridDateEditor.Visible:=false;
UpdateJMenuKeys;
end; end;
destructor TRxDBGrid.Destroy; destructor TRxDBGrid.Destroy;
@@ -2765,6 +2862,7 @@ begin
FreeAndNil(F_LastFilter); FreeAndNil(F_LastFilter);
FreeAndNil(F_SortListField); FreeAndNil(F_SortListField);
FreeAndNil(FKeyStrokes);
inherited Destroy; inherited Destroy;
end; end;
@@ -3430,6 +3528,116 @@ begin
end; end;
{ TRxDBGridKeyStroke }
procedure TRxDBGridKeyStroke.SetCommand(const AValue: TRxDBGridCommand);
begin
if FCommand=AValue then exit;
FCommand:=AValue;
Changed(false);
end;
procedure TRxDBGridKeyStroke.SetShortCut(const AValue: TShortCut);
begin
if FShortCut=AValue then exit;
FShortCut:=AValue;
Menus.ShortCutToKey(FShortCut, FKey, FShift);
Changed(false);
end;
function TRxDBGridKeyStroke.GetDisplayName: string;
begin
IntToIdent(Ord(FCommand), Result, EditorCommandStrs);
Result:=Result + ' - ' + ShortCutToText(FShortCut);
end;
{ TRxDBGridKeyStrokes }
function TRxDBGridKeyStrokes.GetItem(Index: Integer): TRxDBGridKeyStroke;
begin
Result := TRxDBGridKeyStroke(inherited GetItem(Index));
end;
procedure TRxDBGridKeyStrokes.SetItem(Index: Integer;
const AValue: TRxDBGridKeyStroke);
begin
inherited SetItem(Index, AValue);
end;
procedure TRxDBGridKeyStrokes.Update(Item: TCollectionItem);
begin
inherited Update(Item);
if (UpdateCount = 0) and Assigned(Owner) and Assigned(TRxDBGrid(Owner).FKeyStrokes) then
TRxDBGrid(Owner).UpdateJMenuKeys;
end;
constructor TRxDBGridKeyStrokes.Create(AOwner: TPersistent);
begin
inherited Create(TRxDBGridKeyStroke);
FOwner := AOwner;
end;
function TRxDBGridKeyStrokes.Add: TRxDBGridKeyStroke;
begin
Result := TRxDBGridKeyStroke(inherited Add);
Result.Enabled:=true;
end;
function TRxDBGridKeyStrokes.AddE(ACommand: TRxDBGridCommand; AShortCut: TShortCut
): TRxDBGridKeyStroke;
begin
Result:=nil;
Result:=Add;
Result.FShortCut:=AShortCut;
Result.FCommand:=ACommand;
end;
procedure TRxDBGridKeyStrokes.ResetDefaults;
begin
Clear;
AddE(rxgcShowFindDlg, Menus.ShortCut(Ord('F'), [ssCtrl]));
AddE(rxgcShowColumnsDlg, Menus.ShortCut(Ord('W'), [ssCtrl]));
AddE(rxgcShowFilterDlg, Menus.ShortCut(Ord('T'), [ssCtrl]));
AddE(rxgcShowSortDlg, Menus.ShortCut(Ord('S'), [ssCtrl]));
AddE(rxgcShowQuickFilter, Menus.ShortCut(Ord('Q'), [ssCtrl]));
AddE(rxgcHideQuickFilter, Menus.ShortCut(Ord('H'), [ssCtrl]));
end;
function TRxDBGridKeyStrokes.FindRxCommand(AKey: word; AShift: TShiftState
): TRxDBGridCommand;
var
i:integer;
K:TRxDBGridKeyStroke;
begin
Result:=rxgcNone;
for i:=0 to Count-1 do
begin
K:=Items[i];
if (K.FKey = AKey) and (K.FShift = AShift) and (K.FEnabled) then
begin
Result:=K.FCommand;
exit;
end;
end;
end;
function TRxDBGridKeyStrokes.FindRxKeyStrokes(ACommand: TRxDBGridCommand
): TRxDBGridKeyStroke;
var
i:integer;
begin
Result:=nil;
for i:=0 to Count-1 do
begin
if (Items[i].Command = ACommand) then
begin
Result:=Items[i];
exit;
end;
end;
end;
initialization initialization
{$I rxdbgrid.lrs} {$I rxdbgrid.lrs}
// {$I rx_markerdown.lrs} // {$I rx_markerdown.lrs}