git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@2405 8e941d3f-bd1b-0410-a28a-d453659cc2b4

This commit is contained in:
dopi
2012-04-23 16:40:28 +00:00
parent 625dbaa306
commit 07e2fb94a8
6 changed files with 529 additions and 246 deletions

View File

@ -4,7 +4,7 @@
<PathDelim Value="\"/>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="73">
<Units Count="81">
<Unit0>
<Filename Value="TDIDemo.lpr"/>
<IsPartOfProject Value="True"/>
@ -12,7 +12,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="36" Y="18"/>
<UsageCount Value="111"/>
<UsageCount Value="126"/>
</Unit0>
<Unit1>
<Filename Value="mainform.pas"/>
@ -23,7 +23,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="10" Y="8"/>
<UsageCount Value="111"/>
<UsageCount Value="126"/>
</Unit1>
<Unit2>
<Filename Value="uform1.pas"/>
@ -32,13 +32,10 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="uForm1"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="91"/>
<CursorPos X="44" Y="96"/>
<UsageCount Value="111"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
<TopLine Value="31"/>
<CursorPos X="1" Y="103"/>
<UsageCount Value="126"/>
</Unit2>
<Unit3>
<Filename Value="uform2.pas"/>
@ -49,9 +46,9 @@
<UnitName Value="uForm2"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="63"/>
<CursorPos X="57" Y="70"/>
<UsageCount Value="33"/>
<TopLine Value="58"/>
<CursorPos X="69" Y="62"/>
<UsageCount Value="48"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit3>
@ -61,28 +58,28 @@
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="uMainForm"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="10"/>
<CursorPos X="7" Y="14"/>
<UsageCount Value="54"/>
<TopLine Value="154"/>
<CursorPos X="22" Y="159"/>
<UsageCount Value="60"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit4>
<Unit5>
<Filename Value="..\tdiclass.pas"/>
<UnitName Value="TDIClass"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="934"/>
<CursorPos X="3" Y="946"/>
<UsageCount Value="54"/>
<TopLine Value="553"/>
<CursorPos X="44" Y="559"/>
<UsageCount Value="60"/>
<Bookmarks Count="4">
<Item0 X="17" Y="961" ID="3"/>
<Item1 X="1" Y="331" ID="2"/>
<Item2 X="45" Y="56" ID="5"/>
<Item3 X="12" Y="945" ID="1"/>
<Item0 X="17" Y="1051" ID="3"/>
<Item1 X="1" Y="349" ID="2"/>
<Item2 X="45" Y="62" ID="5"/>
<Item3 X="37" Y="581" ID="1"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit5>
@ -92,20 +89,20 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="10"/>
<UsageCount Value="2"/>
<UsageCount Value="1"/>
</Unit6>
<Unit7>
<Filename Value="C:\lazarus\lcl\include\customnotebook.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="448"/>
<CursorPos X="3" Y="457"/>
<UsageCount Value="17"/>
<TopLine Value="755"/>
<CursorPos X="31" Y="766"/>
<UsageCount Value="16"/>
</Unit7>
<Unit8>
<Filename Value="C:\lazarus\lcl\include\control.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="4828"/>
<CursorPos X="44" Y="4843"/>
<TopLine Value="3650"/>
<CursorPos X="1" Y="3661"/>
<UsageCount Value="12"/>
</Unit8>
<Unit9>
@ -114,7 +111,7 @@
<WindowIndex Value="0"/>
<TopLine Value="3"/>
<CursorPos X="29" Y="16"/>
<UsageCount Value="36"/>
<UsageCount Value="35"/>
</Unit9>
<Unit10>
<Filename Value="..\..\..\TOOLS\DJ_FormPrincipal.pas"/>
@ -125,7 +122,7 @@
<WindowIndex Value="0"/>
<TopLine Value="130"/>
<CursorPos X="37" Y="146"/>
<UsageCount Value="33"/>
<UsageCount Value="32"/>
</Unit10>
<Unit11>
<Filename Value="C:\lazarus\lcl\stdctrls.pp"/>
@ -133,7 +130,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1126"/>
<CursorPos X="3" Y="1137"/>
<UsageCount Value="7"/>
<UsageCount Value="6"/>
</Unit11>
<Unit12>
<Filename Value="C:\lazarus\lcl\buttons.pp"/>
@ -141,14 +138,14 @@
<WindowIndex Value="0"/>
<TopLine Value="173"/>
<CursorPos X="14" Y="184"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit12>
<Unit13>
<Filename Value="..\..\..\TOOLS\DJ_FormPrincipal.lfm"/>
<WindowIndex Value="0"/>
<TopLine Value="2191"/>
<CursorPos X="1" Y="2212"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
<DefaultSyntaxHighlighter Value="LFM"/>
</Unit13>
<Unit14>
@ -157,37 +154,39 @@
<WindowIndex Value="0"/>
<TopLine Value="349"/>
<CursorPos X="22" Y="12"/>
<UsageCount Value="4"/>
<UsageCount Value="3"/>
</Unit14>
<Unit15>
<Filename Value="umainform.lfm"/>
<WindowIndex Value="0"/>
<TopLine Value="2229"/>
<CursorPos X="1" Y="2239"/>
<TopLine Value="2474"/>
<CursorPos X="32" Y="2480"/>
<ExtraEditorCount Value="1"/>
<ExtraEditor1>
<WindowIndex Value="0"/>
<TopLine Value="2474"/>
<CursorPos X="32" Y="2480"/>
<TopLine Value="41"/>
<CursorPos X="25" Y="60"/>
</ExtraEditor1>
<UsageCount Value="8"/>
<UsageCount Value="11"/>
<DefaultSyntaxHighlighter Value="LFM"/>
</Unit15>
<Unit16>
<Filename Value="..\tdiconst.pas"/>
<UnitName Value="TDIConst"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="13" Y="10"/>
<UsageCount Value="49"/>
<CursorPos X="33" Y="17"/>
<UsageCount Value="48"/>
<Loaded Value="True"/>
</Unit16>
<Unit17>
<Filename Value="C:\lazarus\lcl\controls.pp"/>
<UnitName Value="Controls"/>
<WindowIndex Value="0"/>
<TopLine Value="1585"/>
<CursorPos X="14" Y="1596"/>
<UsageCount Value="11"/>
<TopLine Value="1951"/>
<CursorPos X="24" Y="1970"/>
<UsageCount Value="17"/>
</Unit17>
<Unit18>
<Filename Value="C:\lazarus\lcl\graphics.pp"/>
@ -195,30 +194,30 @@
<WindowIndex Value="0"/>
<TopLine Value="1466"/>
<CursorPos X="3" Y="1477"/>
<UsageCount Value="4"/>
<UsageCount Value="3"/>
</Unit18>
<Unit19>
<Filename Value="C:\lazarus\components\lazcontrols\extendednotebook.pas"/>
<UnitName Value="ExtendedNotebook"/>
<WindowIndex Value="0"/>
<TopLine Value="35"/>
<CursorPos X="3" Y="46"/>
<UsageCount Value="19"/>
<CursorPos X="78" Y="42"/>
<UsageCount Value="18"/>
</Unit19>
<Unit20>
<Filename Value="C:\lazarus\lcl\comctrls.pp"/>
<UnitName Value="ComCtrls"/>
<WindowIndex Value="0"/>
<TopLine Value="424"/>
<CursorPos X="14" Y="432"/>
<UsageCount Value="23"/>
<TopLine Value="292"/>
<CursorPos X="40" Y="304"/>
<UsageCount Value="24"/>
</Unit20>
<Unit21>
<Filename Value="C:\lazarus\lcl\include\pagecontrol.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="22"/>
<CursorPos X="1" Y="34"/>
<UsageCount Value="14"/>
<UsageCount Value="13"/>
</Unit21>
<Unit22>
<Filename Value="..\..\..\ACBr\trunk\Fontes\ACBrComum\ACBrAAC.pas"/>
@ -226,7 +225,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="3"/>
<UsageCount Value="2"/>
</Unit22>
<Unit23>
<Filename Value="..\..\..\ACBr\trunk\Fontes\ACBrComum\ACBrPAFClass.pas"/>
@ -234,36 +233,36 @@
<WindowIndex Value="0"/>
<TopLine Value="241"/>
<CursorPos X="17" Y="252"/>
<UsageCount Value="3"/>
<UsageCount Value="2"/>
</Unit23>
<Unit24>
<Filename Value="C:\lazarus\lcl\include\bitbtn.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="67"/>
<CursorPos X="40" Y="79"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit24>
<Unit25>
<Filename Value="C:\lazarus\lcl\menus.pp"/>
<UnitName Value="Menus"/>
<WindowIndex Value="0"/>
<TopLine Value="110"/>
<CursorPos X="3" Y="118"/>
<UsageCount Value="6"/>
<TopLine Value="403"/>
<CursorPos X="30" Y="410"/>
<UsageCount Value="10"/>
</Unit25>
<Unit26>
<Filename Value="C:\lazarus\lcl\include\menuitem.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1085"/>
<CursorPos X="1" Y="1103"/>
<UsageCount Value="7"/>
<UsageCount Value="6"/>
</Unit26>
<Unit27>
<Filename Value="C:\lazarus\lcl\include\buttons.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="234"/>
<CursorPos X="42" Y="254"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit27>
<Unit28>
<Filename Value="C:\lazarus\lcl\actnlist.pas"/>
@ -271,7 +270,7 @@
<WindowIndex Value="0"/>
<TopLine Value="365"/>
<CursorPos X="1" Y="378"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit28>
<Unit29>
<Filename Value="C:\lazarus\lcl\extctrls.pp"/>
@ -279,14 +278,14 @@
<WindowIndex Value="0"/>
<TopLine Value="1144"/>
<CursorPos X="19" Y="1161"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit29>
<Unit30>
<Filename Value="C:\lazarus\lcl\include\buttonglyph.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="209"/>
<CursorPos X="61" Y="219"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit30>
<Unit31>
<Filename Value="C:\lazarus\lcl\alllclunits.pp"/>
@ -294,7 +293,7 @@
<WindowIndex Value="0"/>
<TopLine Value="19"/>
<CursorPos X="1" Y="34"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit31>
<Unit32>
<Filename Value="C:\lazarus\lcl\arrow.pp"/>
@ -302,7 +301,7 @@
<WindowIndex Value="0"/>
<TopLine Value="69"/>
<CursorPos X="1" Y="87"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit32>
<Unit33>
<Filename Value="C:\lazarus\lcl\customdrawndrawers.pas"/>
@ -310,7 +309,7 @@
<WindowIndex Value="0"/>
<TopLine Value="402"/>
<CursorPos X="3" Y="404"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit33>
<Unit34>
<Filename Value="C:\lazarus\lcl\interfaces\wince\wincewsfactory.pas"/>
@ -318,7 +317,7 @@
<WindowIndex Value="0"/>
<TopLine Value="503"/>
<CursorPos X="23" Y="514"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit34>
<Unit35>
<Filename Value="C:\lazarus\lcl\widgetset\wsmenus.pp"/>
@ -326,7 +325,7 @@
<WindowIndex Value="0"/>
<TopLine Value="196"/>
<CursorPos X="3" Y="200"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit35>
<Unit36>
<Filename Value="C:\lazarus\lcl\widgetset\wsfactory.pas"/>
@ -334,21 +333,21 @@
<WindowIndex Value="0"/>
<TopLine Value="89"/>
<CursorPos X="10" Y="100"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit36>
<Unit37>
<Filename Value="C:\lazarus\lcl\include\menu.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="72"/>
<CursorPos X="8" Y="82"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit37>
<Unit38>
<Filename Value="C:\lazarus\fpc\2.6.0\source\rtl\objpas\classes\classesh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1650"/>
<CursorPos X="16" Y="1661"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit38>
<Unit39>
<Filename Value="C:\lazarus\lcl\registerlcl.pas"/>
@ -356,7 +355,7 @@
<WindowIndex Value="0"/>
<TopLine Value="50"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit39>
<Unit40>
<Filename Value="C:\lazarus\lcl\imglist.pp"/>
@ -364,14 +363,14 @@
<WindowIndex Value="0"/>
<TopLine Value="47"/>
<CursorPos X="12" Y="58"/>
<UsageCount Value="5"/>
<UsageCount Value="4"/>
</Unit40>
<Unit41>
<Filename Value="C:\lazarus\lcl\include\custompage.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="151"/>
<CursorPos X="1" Y="166"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit41>
<Unit42>
<Filename Value="C:\lazarus\lcl\lclclasses.pp"/>
@ -379,7 +378,7 @@
<WindowIndex Value="0"/>
<TopLine Value="116"/>
<CursorPos X="3" Y="118"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit42>
<Unit43>
<Filename Value="C:\lazarus\lcl\buttonpanel.pas"/>
@ -387,7 +386,7 @@
<WindowIndex Value="0"/>
<TopLine Value="183"/>
<CursorPos X="45" Y="194"/>
<UsageCount Value="7"/>
<UsageCount Value="6"/>
</Unit43>
<Unit44>
<Filename Value="..\..\..\ACBr\trunk\Fontes\ACBrSerial\ACBrECF.pas"/>
@ -395,14 +394,14 @@
<WindowIndex Value="0"/>
<TopLine Value="5128"/>
<CursorPos X="1" Y="5148"/>
<UsageCount Value="6"/>
<UsageCount Value="5"/>
</Unit44>
<Unit45>
<Filename Value="C:\lazarus\lcl\include\wincontrol.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="7886"/>
<CursorPos X="1" Y="7897"/>
<UsageCount Value="11"/>
<TopLine Value="6990"/>
<CursorPos X="3" Y="6999"/>
<UsageCount Value="16"/>
</Unit45>
<Unit46>
<Filename Value="..\..\..\djpdv\djmonitor\DAV.pas"/>
@ -413,29 +412,29 @@
<WindowIndex Value="0"/>
<TopLine Value="997"/>
<CursorPos X="3" Y="999"/>
<UsageCount Value="6"/>
<UsageCount Value="5"/>
</Unit46>
<Unit47>
<Filename Value="C:\lazarus\lcl\include\customform.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="2088"/>
<CursorPos X="17" Y="2070"/>
<UsageCount Value="13"/>
<TopLine Value="2441"/>
<CursorPos X="52" Y="2460"/>
<UsageCount Value="16"/>
</Unit47>
<Unit48>
<Filename Value="C:\lazarus\lcl\include\screen.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="978"/>
<CursorPos X="1" Y="989"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit48>
<Unit49>
<Filename Value="C:\lazarus\lcl\forms.pp"/>
<UnitName Value="Forms"/>
<WindowIndex Value="0"/>
<TopLine Value="687"/>
<CursorPos X="14" Y="698"/>
<UsageCount Value="19"/>
<TopLine Value="151"/>
<CursorPos X="27" Y="162"/>
<UsageCount Value="25"/>
</Unit49>
<Unit50>
<Filename Value="C:\lazarus\lcl\lclmessageglue.pas"/>
@ -443,14 +442,14 @@
<WindowIndex Value="0"/>
<TopLine Value="116"/>
<CursorPos X="1" Y="128"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit50>
<Unit51>
<Filename Value="C:\lazarus\lcl\interfaces\win32\win32pagecontrol.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="254"/>
<CursorPos X="1" Y="262"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit51>
<Unit52>
<Filename Value="C:\lazarus\lcl\interfaces\win32\win32wsforms.pp"/>
@ -458,7 +457,7 @@
<WindowIndex Value="0"/>
<TopLine Value="361"/>
<CursorPos X="1" Y="375"/>
<UsageCount Value="6"/>
<UsageCount Value="5"/>
</Unit52>
<Unit53>
<Filename Value="C:\lazarus\lcl\widgetset\wslclclasses.pp"/>
@ -466,7 +465,7 @@
<WindowIndex Value="0"/>
<TopLine Value="421"/>
<CursorPos X="3" Y="414"/>
<UsageCount Value="6"/>
<UsageCount Value="5"/>
</Unit53>
<Unit54>
<Filename Value="C:\lazarus\lcl\lclproc.pas"/>
@ -474,28 +473,28 @@
<WindowIndex Value="0"/>
<TopLine Value="851"/>
<CursorPos X="40" Y="862"/>
<UsageCount Value="9"/>
<UsageCount Value="8"/>
</Unit54>
<Unit55>
<Filename Value="C:\lazarus\lcl\include\tabsheet.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="49"/>
<CursorPos X="3" Y="69"/>
<UsageCount Value="7"/>
<UsageCount Value="6"/>
</Unit55>
<Unit56>
<Filename Value="C:\lazarus\lcl\include\winapi.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="314"/>
<CursorPos X="30" Y="322"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit56>
<Unit57>
<Filename Value="C:\lazarus\lcl\interfaces\win32\win32callback.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="211"/>
<CursorPos X="14" Y="214"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit57>
<Unit58>
<Filename Value="..\..\..\..\TOOLS\DJ_FormPrincipal.pas"/>
@ -504,51 +503,51 @@
<ResourceBaseClass Value="Form"/>
<UnitName Value="DJ_FormPrincipal"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="17"/>
<TopLine Value="431"/>
<CursorPos X="1" Y="450"/>
<UsageCount Value="23"/>
</Unit58>
<Unit59>
<Filename Value="C:\lazarus\fpc\2.6.0\source\rtl\objpas\sysutils\sysstrh.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="208"/>
<CursorPos X="30" Y="219"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit59>
<Unit60>
<Filename Value="C:\lazarus\fpc\2.6.0\source\rtl\objpas\sysutils\sysstr.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1803"/>
<CursorPos X="3" Y="1806"/>
<UsageCount Value="8"/>
<UsageCount Value="7"/>
</Unit60>
<Unit61>
<Filename Value="C:\lazarus\lcl\include\customcontrol.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="49"/>
<CursorPos X="1" Y="60"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit61>
<Unit62>
<Filename Value="C:\lazarus\fpc\2.6.0\source\rtl\objpas\classes\compon.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="465"/>
<CursorPos X="3" Y="469"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit62>
<Unit63>
<Filename Value="C:\lazarus\lcl\include\application.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="2174"/>
<CursorPos X="3" Y="2155"/>
<UsageCount Value="10"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="13"/>
</Unit63>
<Unit64>
<Filename Value="C:\lazarus\fpc\2.6.0\source\rtl\win\wininc\struct.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="217"/>
<CursorPos X="23" Y="228"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit64>
<Unit65>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\comctrls.pp"/>
@ -556,7 +555,7 @@
<WindowIndex Value="0"/>
<TopLine Value="546"/>
<CursorPos X="28" Y="561"/>
<UsageCount Value="11"/>
<UsageCount Value="10"/>
</Unit65>
<Unit66>
<Filename Value="..\..\..\..\..\dev\lazarus\components\lazcontrols\extendednotebook.pas"/>
@ -564,7 +563,7 @@
<WindowIndex Value="0"/>
<TopLine Value="50"/>
<CursorPos X="15" Y="79"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit66>
<Unit67>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\controls.pp"/>
@ -572,14 +571,14 @@
<WindowIndex Value="0"/>
<TopLine Value="1891"/>
<CursorPos X="1" Y="2014"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit67>
<Unit68>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\include\control.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="4176"/>
<CursorPos X="30" Y="4185"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit68>
<Unit69>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\menus.pp"/>
@ -587,14 +586,14 @@
<WindowIndex Value="0"/>
<TopLine Value="267"/>
<CursorPos X="1" Y="287"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit69>
<Unit70>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\include\menuitem.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1426"/>
<CursorPos X="3" Y="1435"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit70>
<Unit71>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\forms.pp"/>
@ -602,112 +601,186 @@
<WindowIndex Value="0"/>
<TopLine Value="399"/>
<CursorPos X="14" Y="665"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit71>
<Unit72>
<Filename Value="..\..\..\..\..\dev\lazarus\lcl\include\wincontrol.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="5527"/>
<CursorPos X="3" Y="5532"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit72>
<Unit73>
<Filename Value="C:\lazarus\lcl\include\customupdown.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit73>
<Unit74>
<Filename Value="C:\lazarus\lcl\lcltype.pp"/>
<UnitName Value="LCLType"/>
<WindowIndex Value="0"/>
<TopLine Value="395"/>
<CursorPos X="3" Y="406"/>
<UsageCount Value="10"/>
</Unit74>
<Unit75>
<Filename Value="C:\lazarus\lcl\lmessages.pp"/>
<UnitName Value="LMessages"/>
<WindowIndex Value="0"/>
<TopLine Value="419"/>
<CursorPos X="3" Y="430"/>
<UsageCount Value="12"/>
</Unit75>
<Unit76>
<Filename Value="C:\lazarus\components\mouseandkeyinput\mouseandkeyinput.pas"/>
<UnitName Value="MouseAndKeyInput"/>
<WindowIndex Value="0"/>
<TopLine Value="19"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit76>
<Unit77>
<Filename Value="C:\lazarus\components\mouseandkeyinput\winmouseinput.pas"/>
<UnitName Value="WinMouseInput"/>
<WindowIndex Value="0"/>
<TopLine Value="31"/>
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit77>
<Unit78>
<Filename Value="C:\lazarus\components\mouseandkeyinput\winkeyinput.pas"/>
<UnitName Value="WinKeyInput"/>
<WindowIndex Value="0"/>
<TopLine Value="36"/>
<CursorPos X="15" Y="64"/>
<UsageCount Value="10"/>
</Unit78>
<Unit79>
<Filename Value="C:\lazarus\fpc\2.6.0\source\packages\winunits-jedi\src\jwawinuser.pas"/>
<UnitName Value="JwaWinUser"/>
<WindowIndex Value="0"/>
<TopLine Value="5016"/>
<CursorPos X="10" Y="5027"/>
<UsageCount Value="10"/>
</Unit79>
<Unit80>
<Filename Value="C:\lazarus\lcl\include\customcheckbox.inc"/>
<WindowIndex Value="0"/>
<TopLine Value="125"/>
<CursorPos X="17" Y="130"/>
<UsageCount Value="10"/>
</Unit80>
</Units>
<General>
<ActiveWindowIndexAtStart Value="0"/>
</General>
<JumpHistory Count="23" HistoryIndex="22">
<JumpHistory Count="26" HistoryIndex="25">
<Position1>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="881" Column="1" TopLine="876"/>
<Caret Line="89" Column="1" TopLine="70"/>
</Position1>
<Position2>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="919" Column="1" TopLine="911"/>
<Caret Line="166" Column="1" TopLine="147"/>
</Position2>
<Position3>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="929" Column="1" TopLine="911"/>
<Caret Line="383" Column="1" TopLine="364"/>
</Position3>
<Position4>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="919" Column="1" TopLine="911"/>
<Caret Line="566" Column="33" TopLine="553"/>
</Position4>
<Position5>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="921" Column="1" TopLine="911"/>
<Caret Line="1022" Column="24" TopLine="1014"/>
</Position5>
<Position6>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="922" Column="45" TopLine="911"/>
<Caret Line="1019" Column="5" TopLine="1006"/>
</Position6>
<Position7>
<Filename Value="umainform.pas"/>
<Caret Line="147" Column="9" TopLine="129"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="1011" Column="33" TopLine="1003"/>
</Position7>
<Position8>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="158" Column="34" TopLine="138"/>
<Caret Line="102" Column="18" TopLine="91"/>
</Position8>
<Position9>
<Filename Value="umainform.pas"/>
<Caret Line="27" Column="17" TopLine="22"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="388" Column="16" TopLine="369"/>
</Position9>
<Position10>
<Filename Value="uform2.pas"/>
<Caret Line="63" Column="75" TopLine="47"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="409" Column="29" TopLine="390"/>
</Position10>
<Position11>
<Filename Value="uform1.pas"/>
<Caret Line="62" Column="23" TopLine="54"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="411" Column="18" TopLine="392"/>
</Position11>
<Position12>
<Filename Value="uform2.pas"/>
<Caret Line="74" Column="28" TopLine="64"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="576" Column="24" TopLine="562"/>
</Position12>
<Position13>
<Filename Value="umainform.pas"/>
<Caret Line="87" Column="17" TopLine="78"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="867" Column="3" TopLine="865"/>
</Position13>
<Position14>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="130" Column="67" TopLine="116"/>
<Caret Line="807" Column="38" TopLine="799"/>
</Position14>
<Position15>
<Filename Value="umainform.pas"/>
<Caret Line="14" Column="7" TopLine="10"/>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="208" Column="12" TopLine="196"/>
</Position15>
<Position16>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="945" Column="15" TopLine="936"/>
<Caret Line="202" Column="38" TopLine="196"/>
</Position16>
<Position17>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="87" Column="29" TopLine="76"/>
</Position17>
<Position18>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="945" Column="14" TopLine="927"/>
<Caret Line="102" Column="26" TopLine="97"/>
</Position18>
<Position19>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="175" Column="1" TopLine="158"/>
</Position19>
<Position20>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="10" Column="36" TopLine="1"/>
<Caret Line="101" Column="1" TopLine="92"/>
</Position20>
<Position21>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="112" Column="17" TopLine="94"/>
<Caret Line="171" Column="33" TopLine="161"/>
</Position21>
<Position22>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="130" Column="50" TopLine="111"/>
<Caret Line="399" Column="59" TopLine="387"/>
</Position22>
<Position23>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="255" Column="29" TopLine="245"/>
<Caret Line="395" Column="1" TopLine="382"/>
</Position23>
<Position24>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="392" Column="1" TopLine="382"/>
</Position24>
<Position25>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="393" Column="1" TopLine="383"/>
</Position25>
<Position26>
<Filename Value="..\tdiclass.pas"/>
<Caret Line="407" Column="26" TopLine="400"/>
</Position26>
</JumpHistory>
</ProjectSession>
</CONFIG>

View File

@ -16,8 +16,8 @@ object Form2: TForm2
LCLVersion = '1.1'
object Edit1: TEdit
Left = 48
Height = 27
Top = 80
Height = 23
Top = 72
Width = 403
Anchors = [akTop, akLeft, akRight]
TabOrder = 0
@ -25,47 +25,42 @@ object Form2: TForm2
end
object Edit2: TEdit
Left = 48
Height = 27
Top = 120
Height = 23
Top = 128
Width = 403
Anchors = [akTop, akLeft, akRight]
TabOrder = 1
TabOrder = 2
Text = 'Edit2'
end
object CheckBox1: TCheckBox
Left = 48
Height = 21
Top = 152
Width = 89
Caption = 'CheckBox1'
TabOrder = 2
end
object CheckBox2: TCheckBox
Left = 48
Height = 21
Top = 184
Width = 89
Caption = 'CheckBox2'
TabOrder = 3
Height = 19
Top = 98
Width = 90
Caption = 'Disable Edit 1'
Checked = True
OnChange = CheckBox1Change
State = cbChecked
TabOrder = 1
end
object bClose: TButton
Left = 374
Height = 29
Top = 188
Width = 77
Left = 365
Height = 25
Top = 192
Width = 86
Anchors = [akRight, akBottom]
AutoSize = True
Caption = 'Close Form'
OnClick = bCloseClick
TabOrder = 4
TabOrder = 5
end
object Label2: TLabel
AnchorSideLeft.Control = Owner
AnchorSideLeft.Side = asrCenter
Left = 12
Height = 39
Left = 44
Height = 31
Top = 16
Width = 474
Width = 411
Alignment = taCenter
Caption = 'This Form does NOT have Max Constraints. It will be Aligned by "alClient". '#13#10'Design forms like this using Anchors to expand controls all over the Page'
Font.Style = [fsBold]
@ -77,12 +72,31 @@ object Form2: TForm2
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = bClose
AnchorSideTop.Side = asrBottom
Left = 346
Height = 18
Left = 349
Height = 16
Top = 223
Width = 133
Width = 118
BorderSpacing.Top = 6
Caption = 'This Form is not Freed'
ParentColor = False
end
object bToggle1: TButton
Left = 48
Height = 25
Top = 192
Width = 75
Caption = 'Toggle 1'
OnClick = bToggle1Click
TabOrder = 3
end
object bToggle2: TButton
Left = 144
Height = 25
Top = 192
Width = 75
Caption = 'Toggle 2'
Enabled = False
OnClick = bToggle1Click
TabOrder = 4
end
end

View File

@ -14,13 +14,16 @@ type
TForm2 = class(TForm)
bClose : TButton ;
bToggle1 : TButton ;
bToggle2 : TButton ;
CheckBox1 : TCheckBox ;
CheckBox2 : TCheckBox ;
Edit1 : TEdit ;
Edit2 : TEdit ;
Label1 : TLabel ;
Label2 : TLabel ;
procedure bCloseClick(Sender : TObject) ;
procedure bToggle1Click(Sender : TObject) ;
procedure CheckBox1Change(Sender : TObject) ;
procedure FormClose(Sender : TObject ; var CloseAction : TCloseAction) ;
procedure FormCloseQuery(Sender : TObject ; var CanClose : boolean) ;
procedure FormDestroy(Sender : TObject) ;
@ -53,6 +56,17 @@ begin
ClientRect;
end;
procedure TForm2.bToggle1Click(Sender : TObject) ;
begin
bToggle1.Enabled := not bToggle1.Enabled;
bToggle2.Enabled := not bToggle1.Enabled;
end;
procedure TForm2.CheckBox1Change(Sender : TObject) ;
begin
Edit1.Enabled := CheckBox1.Checked;
end;
procedure TForm2.FormCloseQuery(Sender : TObject ; var CanClose : boolean) ;
begin
fMainForm.mEvents.Lines.Add( 'Form2.CloseQuery: '+BoolToStr(CanClose,'True','False') );

View File

@ -1,10 +1,10 @@
object fMainForm: TfMainForm
Left = 374
Left = 428
Height = 484
Top = 155
Top = 154
Width = 799
Caption = 'fMainForm'
ClientHeight = 461
ClientHeight = 464
ClientWidth = 799
KeyPreview = True
Menu = MainMenu1
@ -16,8 +16,8 @@ object fMainForm: TfMainForm
LCLVersion = '1.1'
object StatusBar1: TStatusBar
Left = 0
Height = 17
Top = 444
Height = 23
Top = 441
Width = 799
Panels = <
item
@ -31,9 +31,10 @@ object fMainForm: TfMainForm
end
object TDINoteBook1: TTDINoteBook
Left = 0
Height = 394
Height = 391
Top = 0
Width = 579
TabStop = False
ActivePage = tsFixed
Align = alClient
Constraints.MinHeight = 300
@ -52,24 +53,32 @@ object fMainForm: TfMainForm
MainMenu = MainMenu1
TDIActions.TabsMenu.Caption = 'Tabs'
TDIActions.TabsMenu.ImageIndex = 0
TDIActions.TabsMenu.Visible = False
TDIActions.CloseTab.Caption = 'Close Tab'
TDIActions.CloseTab.ImageIndex = 1
TDIActions.CloseTab.Visible = True
TDIActions.CloseAllTabs.Caption = 'Close All Tabs'
TDIActions.CloseAllTabs.ImageIndex = 2
ClosePageShortCut = 16499
TDIActions.CloseAllTabs.Visible = True
TDIActions.NextTab.Caption = 'Next Tab'
TDIActions.NextTab.ImageIndex = 6
TDIActions.NextTab.Visible = True
TDIActions.PreviousTab.Caption = 'Previous Tab'
TDIActions.PreviousTab.ImageIndex = 7
TDIActions.PreviousTab.Visible = True
FixedPages = 1
object tsFixed: TTabSheet
Caption = 'TTDINotebook Demo'
ClientHeight = 364
ClientWidth = 577
ClientHeight = 363
ClientWidth = 571
ImageIndex = 5
object Label2: TLabel
AnchorSideLeft.Control = tsFixed
AnchorSideLeft.Side = asrCenter
Left = 152
Height = 39
Left = 163
Height = 31
Top = 312
Width = 272
Width = 244
Alignment = taCenter
Caption = 'This is a Fixed Page, and cannot be closed.'#13#10'You can configure it on "FixedPages" Property'
ParentColor = False
@ -78,7 +87,7 @@ object fMainForm: TfMainForm
Left = 0
Height = 267
Top = 0
Width = 577
Width = 571
Align = alTop
FixedTypeface = 'Courier New'
DefaultTypeFace = 'default'
@ -95,7 +104,7 @@ object fMainForm: TfMainForm
object pBottom: TPanel
Left = 0
Height = 50
Top = 394
Top = 391
Width = 799
Align = alBottom
ClientHeight = 50
@ -103,10 +112,10 @@ object fMainForm: TfMainForm
TabOrder = 2
object cbxBackgroundCorner: TComboBox
Left = 21
Height = 31
Height = 23
Top = 18
Width = 115
ItemHeight = 0
ItemHeight = 15
Items.Strings = (
'coTopLeft'
'coTopRight'
@ -119,19 +128,19 @@ object fMainForm: TfMainForm
end
object Label1: TLabel
Left = 22
Height = 18
Height = 16
Top = 1
Width = 114
Width = 101
Caption = 'BackgroundCorner'
ParentColor = False
end
object bToggleLog: TButton
AnchorSideTop.Control = pBottom
AnchorSideTop.Side = asrCenter
Left = 688
Height = 29
Top = 11
Width = 72
Left = 675
Height = 25
Top = 13
Width = 85
Anchors = [akTop, akRight]
AutoSize = True
Caption = 'Hide Log >'
@ -140,15 +149,15 @@ object fMainForm: TfMainForm
end
object Label3: TLabel
Left = 182
Height = 18
Height = 16
Top = 1
Width = 68
Width = 59
Caption = 'FixedPages'
ParentColor = False
end
object seFixedPages: TSpinEdit
Left = 184
Height = 27
Height = 23
Top = 17
Width = 50
MaxValue = 10
@ -159,7 +168,7 @@ object fMainForm: TfMainForm
end
object mEvents: TMemo
Left = 584
Height = 394
Height = 391
Top = 0
Width = 215
Align = alRight
@ -171,7 +180,7 @@ object fMainForm: TfMainForm
end
object Splitter1: TSplitter
Left = 579
Height = 394
Height = 391
Top = 0
Width = 5
Align = alRight
@ -182,7 +191,7 @@ object fMainForm: TfMainForm
AnchorSideBottom.Side = asrBottom
Left = 538
Height = 94
Top = 266
Top = 269
Width = 94
Anchors = [akRight, akBottom]
AutoSize = True
@ -697,7 +706,7 @@ object fMainForm: TfMainForm
left = 416
top = 400
Bitmap = {
4C69060000001000000010000000000000000000000000000000000000000000
4C69080000001000000010000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
@ -889,7 +898,71 @@ object fMainForm: TfMainForm
FFFF1818FFFF1818FFFF1818FFFF1010E7FF5A215AFFAD4A18FFA54218FFA539
10FF9C3110FF942910FF841008FFFF00FF001818DEFF1818DEFF1818D6FF1818
D6FF1818D6FF1818CEFF1818CEFF1818CEFF42428CFFFF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00
FF00FF00FF00FF00FF00FF00FF00000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000B18B7132D2B099908A4E2517000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00008349227FEFDEC3FFB98A65E8904E22490000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00006636157FE7D4B6FFE5D0B0FFCAA988FD9B5C308E733E1A06000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000522B117FDAC2A4FFD9C0A1FFD8BFA0FFD2B596FFB0764CCE955123270000
000000000000000000000000000000000000A3846DF19B7556FF9A7455FF9370
53FF8B6B51FFD1B495FFD1B494FFD0B293FFCEB091FFCBAE8FFFB88A65F4A35C
2B63000000000000000000000000000000008A664AFFB59778FFBF9F80FFC6A5
85FFCBA989FFCDAB8AFFCDAB8AFFCBA989FFC7A686FFC2A182FFBB9C7DFFB38E
6DFFA56538A981451D1000000000000000007F5A3EFFAC896AFFBA9575FFC39E
7DFFCAA381FFCCA583FFCCA483FFC9A280FFC49E7DFFBB9575FFAD8565FF996F
50FF7E5031FF82451DDF914E2030000000006A4023FF926241FFAC7B57FFBB8A
65FFC2906CFFC4926EFFC2906BFFBD8A65FFB57F5AFFA7724DFF986440FF8755
32FF764524FF7B4520DF87491E3000000000653D1FFF8F5B38FFAE7752FFBE88
63FFC6906CFFC9936FFFC7926DFFC28C67FFBA845EFFAE7852FF9D6844FF8A59
36FF7D4924A66134160F000000000000000078593BF1744B2AFF835A38FF8660
41FF886446FFD5A17BFFD09B77FFC9936FFFBE8863FFB27B55FF8E603BF16C3E
1C5E000000000000000000000000000000000000000000000000000000000000
0000301A0A7FDFAD85FFD7A37FFFCE9874FFBB8961FF7A522FC8502B12230000
0000000000000000000000000000000000000000000000000000000000000000
0000341C097FE7B78CFFDBA784FFAE8359FC57371A8430190A04000000000000
0000000000000000000000000000000000000000000000000000000000000000
00003B220C7FE1B480FF88663CE13B210C3F0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000644B274A6E552F932B160611000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000084492117D1AE9690BE957A32000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000008E4C2049B98A65E8EEDBBEFF8C4E257F000000000000
0000000000000000000000000000000000000000000000000000000000000000
00006D3B19069B5B2F8EC7A787FDE2CDAEFFE1CDADFF6D39177F000000000000
000000000000000000000000000000000000000000000000000000000000914E
2127AE7449CECCB193FFD3BB9CFFD4BB9DFFD4BB9DFF542C127F000000000000
0000000000000000000000000000000000000000000000000000A1592863B285
60F4C3A98BFFC8AD8EFFCCB091FFCDB192FFCDB192FF8B6D54FF917054FF9872
53FF977051FF9E7E66F100000000000000007C421C10A05F32A9A98565FFB396
78FFBC9E7FFFC4A485FFCAA989FFCDAC8CFFCDAC8BFFCAA888FFC3A283FFBA9A
7CFFB09173FF866144FF0000000088491F30966139DF967558FFA07F61FFAD8B
6CFFBA9676FFC6A07FFFCEA786FFD1AB8AFFD1AB8AFFCEA785FFC59F7EFFB894
73FFAB886AFF866348FF000000007E441C30865430DF7A5335FF91694AFFA77F
5FFFBA9171FFCAA07FFFD3AB8AFFD9B191FFD9B191FFD3A989FFC89C7BFFB689
68FF9B6D4DFF6C4123FF00000000000000005C31140F784420A67F4F2DFF9561
3EFFAE7853FFC18B66FFD29D78FFDEAA87FFDFAB88FFD39E7AFFC38D68FFB07A
54FF97633FFF6E4526FF00000000000000000000000000000000683A195E8A5C
38F1B27C56FFC48E6AFFD6A17EFFE6B391FFE8B792FF8B694BFF866040FF8359
38FF78502EFF7E5E3FF100000000000000000000000000000000000000004C28
1023764E2CC8BB8961FFD09B77FFDBA784FFDEAC85FF351E0C7F000000000000
0000000000000000000000000000000000000000000000000000000000000000
00002C16080452321784A67B51FCCB9671FFCF9C71FF3B220C7F000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000371D0A3F7A582FE1C0905BFF42270F7F000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000271305116A512D936B502B4A000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000
}
end
end

View File

@ -21,11 +21,13 @@ type
private
FCaption : String ;
FImageIndex : Integer ;
FVisible : Boolean ;
public
Constructor Create ;
published
property Caption : String read FCaption write FCaption ;
property ImageIndex : Integer read FImageIndex write FImageIndex ;
property Visible : Boolean read FVisible write FVisible;
end ;
{ TTDIActions }
@ -34,6 +36,8 @@ type
private
FCloseAllTabs : TTDIAction ;
FCloseTab : TTDIAction ;
FNextTab : TTDIAction ;
FPreviousTab : TTDIAction ;
FTabsMenu : TTDIAction ;
public
Constructor Create ;
@ -42,6 +46,8 @@ type
property TabsMenu : TTDIAction read FTabsMenu write FTabsMenu ;
property CloseTab : TTDIAction read FCloseTab write FCloseTab ;
property CloseAllTabs : TTDIAction read FCloseAllTabs write FCloseAllTabs ;
property NextTab : TTDIAction read FNextTab write FNextTab ;
property PreviousTab : TTDIAction read FPreviousTab write FPreviousTab ;
end ;
{ TTDIPage }
@ -75,6 +81,10 @@ type
property LastActiveControl : TWinControl read fsLastActiveControl write fsLastActiveControl ;
end ;
TTDIOption = ( tdiMiddleButtomClosePage, tdiRestoreLastActiveControl,
tdiVerifyIfCanChangePage ) ;
TTDIOptions = set of TTDIOption ;
{ TTDINoteBook }
TTDINoteBook = class(TExtendedNotebook)
@ -85,8 +95,8 @@ type
FMainMenu : TMainMenu ;
FBackgroundCorner : TTDIBackgroundCorner ;
FTDIActions : TTDIActions ;
FClosePageShortCut: TShortCut;
FClosePageMouseMiddleButtom: Boolean;
FTDIOptions : TTDIOptions ;
FShortCutClosePage: TShortCut;
procedure SetBackgroundImage(AValue : TImage) ;
procedure SetBackgroundCorner(AValue : TTDIBackgroundCorner) ;
@ -98,10 +108,8 @@ type
FCloseMenuItem : TMenuItem ;
FCloseMenuItem2 : TMenuItem ;
FCloseAllTabsMenuItem : TMenuItem ;
FRestoreActiveControl : Boolean ;
FTabsMenuItem : TMenuItem ;
FTimerRestoreLastControl : TTimer;
FVerifyIfCanChangePage : Boolean ;
FIsRemovingAPage : Boolean;
procedure CreateCloseBitBtn ;
@ -116,6 +124,8 @@ type
procedure CloseAllTabsClicked( Sender: TObject );
procedure SelectTabByMenu( Sender: TObject );
procedure DropDownTabsMenu( Sender: TObject );
procedure NextPageClicked( Sender: TObject );
procedure PreviousPageClicked( Sender: TObject );
procedure TimerRestoreLastFocus( Sender: TObject );
@ -142,6 +152,8 @@ type
Function CanCloseAllPages: Boolean ;
Function CanCloseAPage( APageIndex: Integer): Boolean;
procedure ScrollPage( ToForward: Boolean );
procedure CheckInterface;
published
@ -155,22 +167,19 @@ type
property TDIActions : TTDIActions read FTDIActions write FTDIActions ;
property ClosePageMouseMiddleButtom : Boolean read FClosePageMouseMiddleButtom
write FClosePageMouseMiddleButtom default True;
property ClosePageShortCut: TShortCut read FClosePageShortCut
write FClosePageShortCut default 0;
property TDIOptions : TTDIOptions read FTDIOptions write FTDIOptions
default [ tdiMiddleButtomClosePage, tdiRestoreLastActiveControl,
tdiVerifyIfCanChangePage ];
property ShortCutClosePage: TShortCut read FShortCutClosePage
write FShortCutClosePage default 16499; // Ctrl+F4
property RestoreActiveControl : Boolean read FRestoreActiveControl
write FRestoreActiveControl default True;
property VerifyIfCanChangePage : Boolean read FVerifyIfCanChangePage
write FVerifyIfCanChangePage default True;
property FixedPages : Integer read FFixedPages write SetFixedPages default 0;
end ;
implementation
Uses TDIConst ;
Uses LCLType, TDIConst;
{ TTDIAction }
@ -178,6 +187,7 @@ constructor TTDIAction.Create ;
begin
FCaption := '';
FImageIndex := -1;
FVisible := True;
end ;
{ TTDIActions }
@ -192,6 +202,14 @@ begin
FTabsMenu := TTDIAction.Create;
FTabsMenu.Caption := sActionTabsMenu;
FNextTab := TTDIAction.Create;
FNextTab.Caption := sActionNextTab;
FNextTab.Visible := False;
FPreviousTab := TTDIAction.Create;
FPreviousTab.Caption := sActionPreviousTab;
FPreviousTab.Visible := False;
end ;
destructor TTDIActions.Destroy ;
@ -371,11 +389,8 @@ begin
FCloseTabButtom := tbMenu;
FBackgroundCorner := coBottomRight;
FFixedPages := 0;
FRestoreActiveControl := True;
FVerifyIfCanChangePage := True;
FIsRemovingAPage := False;
FClosePageMouseMiddleButtom:= True;
FClosePageShortCut := 0;
FShortCutClosePage := 16499;
FBackgroundImage := nil;
FCloseBitBtn := nil;
FCloseMenuItem := nil;
@ -383,6 +398,9 @@ begin
FCloseAllTabsMenuItem := nil;
FTabsMenuItem := nil;
FTDIActions := TTDIActions.Create;
FTDIOptions := [ tdiMiddleButtomClosePage,
tdiRestoreLastActiveControl,
tdiVerifyIfCanChangePage ] ;
{ This is ugly, I know... but I didn't found a best solution to restore Last
Focused Control of TDIPage }
@ -510,6 +528,7 @@ begin
begin
Name := 'miTDITabsMenuItem';
Caption := TDIActions.TabsMenu.Caption;
Visible := TDIActions.TabsMenu.Visible;
ImageIndex := TDIActions.TabsMenu.ImageIndex;
RightJustify := True ;
OnClick := @DropDownTabsMenu;
@ -523,19 +542,60 @@ begin
NewMenuItem := TMenuItem.Create( FTabsMenuItem );
with NewMenuItem do
begin
Name := 'miTDISeparator';
Name := 'miTDISeparator1';
Caption := '-';
end ;
FTabsMenuItem.Add(NewMenuItem);
if (nboKeyboardTabSwitch in Options) then
begin
NewMenuItem := TMenuItem.Create( FTabsMenuItem );
with NewMenuItem do
begin
Name := 'miTDINextPage';
Caption := TDIActions.NextTab.Caption;
Visible := TDIActions.NextTab.Visible;
ImageIndex := TDIActions.NextTab.ImageIndex;
ShortCut := Menus.ShortCut(VK_TAB, [ssCtrl] );
OnClick := @NextPageClicked;
end ;
FTabsMenuItem.Add(NewMenuItem);
NewMenuItem := TMenuItem.Create( FTabsMenuItem );
with NewMenuItem do
begin
Name := 'miTDIPreviousPage';
Caption := TDIActions.PreviousTab.Caption;
Visible := TDIActions.PreviousTab.Visible;
ImageIndex := TDIActions.PreviousTab.ImageIndex;
ShortCut := Menus.ShortCut(VK_TAB, [ssCtrl,ssShift] );
OnClick := @PreviousPageClicked;
end ;
FTabsMenuItem.Add(NewMenuItem);
if TDIActions.NextTab.Visible or TDIActions.PreviousTab.Visible then
begin
// Creating a Separator //
NewMenuItem := TMenuItem.Create( FTabsMenuItem );
with NewMenuItem do
begin
Name := 'miTDISeparator2';
Caption := '-';
end ;
FTabsMenuItem.Add(NewMenuItem);
end;
end ;
// Creating Close Tab MenuItem //
FCloseMenuItem2 := TMenuItem.Create( FTabsMenuItem );
with FCloseMenuItem2 do
begin
Name := 'miTDICloseTab';
Caption := TDIActions.CloseTab.Caption;
Visible := TDIActions.CloseTab.Visible;
ImageIndex := TDIActions.CloseTab.ImageIndex;
OnClick := @CloseTabClicked;
ShortCut := FShortCutClosePage;
end ;
FTabsMenuItem.Add(FCloseMenuItem2);
@ -545,6 +605,7 @@ begin
begin
Name := 'miTDICloseAllTabs';
Caption := TDIActions.CloseAllTabs.Caption;
Visible := TDIActions.CloseAllTabs.Visible;
ImageIndex := TDIActions.CloseAllTabs.ImageIndex;
OnClick := @CloseAllTabsClicked;
end ;
@ -765,6 +826,26 @@ begin
end ;
end ;
procedure TTDINoteBook.ScrollPage(ToForward : Boolean) ;
var
NewPage : Integer ;
begin
if ToForward then
begin
NewPage := PageIndex + 1 ;
if NewPage >= PageCount then
NewPage := 0;
end
else
begin
NewPage := PageIndex - 1 ;
if NewPage < 0 then
NewPage := PageCount-1 ;
end ;
PageIndex := NewPage;
end ;
procedure TTDINoteBook.SelectTabByMenu(Sender : TObject) ;
begin
@ -804,6 +885,16 @@ begin
FCloseAllTabsMenuItem.Enabled := (PageCount > 0);
end ;
procedure TTDINoteBook.NextPageClicked(Sender : TObject) ;
begin
ScrollPage( True );
end ;
procedure TTDINoteBook.PreviousPageClicked(Sender : TObject) ;
begin
ScrollPage( False );
end ;
procedure TTDINoteBook.TimerRestoreLastFocus(Sender : TObject) ;
begin
FTimerRestoreLastControl.Enabled := False;
@ -832,7 +923,7 @@ begin
begin
TTDIPage( ActivePage ).LastActiveControl := AWinControl;
if FVerifyIfCanChangePage then
if tdiVerifyIfCanChangePage in FTDIOptions then
begin
{ Try to detect if occurs some exception when leaving current
control focus. This may occurs in TWinControl.OnExit Validation }
@ -866,6 +957,7 @@ begin
}
// This is a ugly workaround.. but it works :) //
if tdiRestoreLastActiveControl in FTDIOptions then
FTimerRestoreLastControl.Enabled := True;
end ;
@ -927,7 +1019,7 @@ procedure TTDINoteBook.MouseDown(Button: TMouseButton; Shift: TShiftState; X,
var
APageIndex : Integer ;
begin
if FClosePageMouseMiddleButtom and (Button = mbMiddle) then
if (tdiMiddleButtomClosePage in FTDIOptions) and (Button = mbMiddle) then
begin
APageIndex := TabIndexAtClientPos( Point(X,Y) );
if (APageIndex >= 0) and (APageIndex >= FixedPages) then
@ -942,15 +1034,30 @@ end;
procedure TTDINoteBook.KeyDown(var Key : Word; Shift : TShiftState) ;
begin
// TODO: HiJack TDIPage.Form.OnKeyDown to detect ShortCut inside the Form //
if ShortCut(Key, Shift) = FClosePageShortCut then
if PageIndex >= FFixedPages then
if (FTabsMenuItem = nil) then // Is already Handled by TabsMenu itens?
begin
if (PageIndex >= FFixedPages) and
(ShortCut(Key, Shift) = FShortCutClosePage) then
begin
Key := 0;
RemovePage( PageIndex );
exit;
end;
end
else if (Key = VK_TAB) and (ssCtrl in Shift) then // TabsMenu will do it...
exit ;
if ActivePage is TTDIPage then
begin
with TTDIPage( ActivePage ) do
begin
RestoreLastFocusedControl;
// TODO: Propagate Key Pressed to FormInPage //
//FormInPage.OnKeyDown(Self,Key,Shift);
end ;
end
else
inherited KeyDown(Key, Shift);
end;

View File

@ -13,6 +13,8 @@ resourcestring
sActionTabsMenu = 'Tabs';
sActionCloseTab = 'Close Tab';
sActionCloseAllTabs = 'Close All Tabs';
sActionNextTab = 'Next Tab';
sActionPreviousTab = 'Previous Tab';
implementation