Changeset 187
- Timestamp:
- Mar 11, 2011, 8:41:52 AM (14 years ago)
- Location:
- Docking/CoolDocking
- Files:
-
- 2 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
Docking/CoolDocking/CoolDocking.lpk
r180 r187 25 25 <Description Value="Set of components for docking of windows."/> 26 26 <Version Minor="2"/> 27 <Files Count="1 4">27 <Files Count="16"> 28 28 <Item1> 29 29 <Filename Value="UCoolDocking.pas"/> … … 85 85 <UnitName Value="UCoolDockCommon"/> 86 86 </Item14> 87 <Item15> 88 <Filename Value="UCoolDockManager.pas"/> 89 <UnitName Value="UCoolDockManager"/> 90 </Item15> 91 <Item16> 92 <Filename Value="UCoolDockConjoinForm.pas"/> 93 <UnitName Value="UCoolDockConjoinForm"/> 94 </Item16> 87 95 </Files> 88 96 <i18n> -
Docking/CoolDocking/CoolDocking.pas
r180 r187 11 11 UCoolDockStyleRegions, UCoolDockStylePopupTabs, UCoolDockStylePopupRegions, 12 12 UCoolDockStyle, UCoolDockClientPanel, UCoolDockPopupMenu, UCoolDockLayout, 13 URectangle, UCoolDockCommon, LazarusPackageIntf; 13 URectangle, UCoolDockCommon, UCoolDockManager, UCoolDockConjoinForm, 14 LazarusPackageIntf; 14 15 15 16 implementation -
Docking/CoolDocking/Demo/IDE/IDE.lpi
r186 r187 47 47 </Item4> 48 48 </RequiredPackages> 49 <Units Count=" 57">49 <Units Count="60"> 50 50 <Unit0> 51 51 <Filename Value="IDE.lpr"/> … … 55 55 <TopLine Value="11"/> 56 56 <CursorPos X="15" Y="34"/> 57 <UsageCount Value="12 7"/>57 <UsageCount Value="128"/> 58 58 </Unit0> 59 59 <Unit1> … … 63 63 <ResourceBaseClass Value="Form"/> 64 64 <UnitName Value="UMainForm"/> 65 <EditorIndex Value="1 1"/>66 <WindowIndex Value="0"/> 67 <TopLine Value="1 48"/>68 <CursorPos X=" 49" Y="163"/>69 <UsageCount Value="12 7"/>65 <EditorIndex Value="15"/> 66 <WindowIndex Value="0"/> 67 <TopLine Value="1"/> 68 <CursorPos X="77" Y="13"/> 69 <UsageCount Value="128"/> 70 70 <Loaded Value="True"/> 71 71 <LoadedDesigner Value="True"/> … … 80 80 <TopLine Value="1"/> 81 81 <CursorPos X="12" Y="16"/> 82 <UsageCount Value="12 7"/>82 <UsageCount Value="128"/> 83 83 </Unit2> 84 84 <Unit3> … … 88 88 <ResourceBaseClass Value="Form"/> 89 89 <UnitName Value="UStructureForm"/> 90 <EditorIndex Value=" 8"/>90 <EditorIndex Value="12"/> 91 91 <WindowIndex Value="0"/> 92 92 <TopLine Value="1"/> 93 93 <CursorPos X="22" Y="4"/> 94 <UsageCount Value="12 7"/>94 <UsageCount Value="128"/> 95 95 <Loaded Value="True"/> 96 96 <LoadedDesigner Value="True"/> … … 105 105 <TopLine Value="1"/> 106 106 <CursorPos X="15" Y="10"/> 107 <UsageCount Value="12 7"/>107 <UsageCount Value="128"/> 108 108 </Unit4> 109 109 <Unit5> 110 110 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\control.inc"/> 111 <EditorIndex Value="1 4"/>112 <WindowIndex Value="0"/> 113 <TopLine Value=" 1093"/>114 <CursorPos X="1 " Y="1106"/>115 <UsageCount Value=" 59"/>111 <EditorIndex Value="18"/> 112 <WindowIndex Value="0"/> 113 <TopLine Value="3176"/> 114 <CursorPos X="11" Y="3187"/> 115 <UsageCount Value="60"/> 116 116 <Loaded Value="True"/> 117 117 </Unit5> … … 125 125 <TopLine Value="1"/> 126 126 <CursorPos X="20" Y="16"/> 127 <UsageCount Value="12 7"/>127 <UsageCount Value="128"/> 128 128 </Unit6> 129 129 <Unit7> … … 143 143 <TopLine Value="1"/> 144 144 <CursorPos X="7" Y="16"/> 145 <UsageCount Value="12 7"/>145 <UsageCount Value="128"/> 146 146 </Unit8> 147 147 <Unit9> … … 154 154 <TopLine Value="1"/> 155 155 <CursorPos X="12" Y="15"/> 156 <UsageCount Value="12 7"/>156 <UsageCount Value="128"/> 157 157 </Unit9> 158 158 <Unit10> … … 165 165 <TopLine Value="1"/> 166 166 <CursorPos X="21" Y="4"/> 167 <UsageCount Value="12 7"/>167 <UsageCount Value="128"/> 168 168 </Unit10> 169 169 <Unit11> … … 176 176 <TopLine Value="1"/> 177 177 <CursorPos X="12" Y="16"/> 178 <UsageCount Value="12 7"/>178 <UsageCount Value="128"/> 179 179 </Unit11> 180 180 <Unit12> … … 187 187 <TopLine Value="1"/> 188 188 <CursorPos X="12" Y="17"/> 189 <UsageCount Value="12 7"/>189 <UsageCount Value="128"/> 190 190 </Unit12> 191 191 <Unit13> … … 198 198 <TopLine Value="1"/> 199 199 <CursorPos X="12" Y="16"/> 200 <UsageCount Value="12 7"/>200 <UsageCount Value="128"/> 201 201 </Unit13> 202 202 <Unit14> … … 206 206 <ResourceBaseClass Value="Form"/> 207 207 <UnitName Value="USourceEditorForm"/> 208 <EditorIndex Value=" 7"/>208 <EditorIndex Value="11"/> 209 209 <WindowIndex Value="0"/> 210 210 <TopLine Value="6"/> 211 211 <CursorPos X="31" Y="3"/> 212 <UsageCount Value="12 5"/>212 <UsageCount Value="126"/> 213 213 <Loaded Value="True"/> 214 214 <LoadedDesigner Value="True"/> … … 219 219 <EditorIndex Value="0"/> 220 220 <WindowIndex Value="0"/> 221 <TopLine Value="2 82"/>222 <CursorPos X=" 37" Y="292"/>223 <UsageCount Value="6 2"/>221 <TopLine Value="20"/> 222 <CursorPos X="43" Y="26"/> 223 <UsageCount Value="63"/> 224 224 <Loaded Value="True"/> 225 225 </Unit15> … … 227 227 <Filename Value="..\..\UCoolDockLayout.pas"/> 228 228 <UnitName Value="UCoolDockLayout"/> 229 <IsVisibleTab Value="True"/> 230 <EditorIndex Value="3"/> 231 <WindowIndex Value="0"/> 232 <TopLine Value="349"/> 233 <CursorPos X="22" Y="362"/> 234 <UsageCount Value="62"/> 229 <EditorIndex Value="5"/> 230 <WindowIndex Value="0"/> 231 <TopLine Value="1"/> 232 <CursorPos X="1" Y="1"/> 233 <UsageCount Value="63"/> 235 234 <Loaded Value="True"/> 236 235 </Unit16> 237 236 <Unit17> 238 237 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/> 239 <EditorIndex Value=" 16"/>238 <EditorIndex Value="20"/> 240 239 <WindowIndex Value="0"/> 241 240 <TopLine Value="1644"/> 242 241 <CursorPos X="14" Y="1657"/> 243 <UsageCount Value="3 4"/>242 <UsageCount Value="35"/> 244 243 <Loaded Value="True"/> 245 244 </Unit17> … … 247 246 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\types.pp"/> 248 247 <UnitName Value="types"/> 249 <EditorIndex Value="1 5"/>248 <EditorIndex Value="19"/> 250 249 <WindowIndex Value="0"/> 251 250 <TopLine Value="274"/> 252 251 <CursorPos X="10" Y="287"/> 253 <UsageCount Value="1 3"/>252 <UsageCount Value="14"/> 254 253 <Loaded Value="True"/> 255 254 </Unit18> … … 291 290 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\forms.pp"/> 292 291 <UnitName Value="Forms"/> 293 <EditorIndex Value=" 4"/>292 <EditorIndex Value="8"/> 294 293 <WindowIndex Value="0"/> 295 294 <TopLine Value="1623"/> 296 295 <CursorPos X="24" Y="1636"/> 297 <UsageCount Value="3 1"/>296 <UsageCount Value="32"/> 298 297 <Loaded Value="True"/> 299 298 </Unit23> … … 308 307 <Unit25> 309 308 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\customcombobox.inc"/> 310 <EditorIndex Value="1 2"/>309 <EditorIndex Value="16"/> 311 310 <WindowIndex Value="0"/> 312 311 <TopLine Value="913"/> 313 312 <CursorPos X="1" Y="930"/> 314 <UsageCount Value="2 6"/>313 <UsageCount Value="27"/> 315 314 <Loaded Value="True"/> 316 315 </Unit25> … … 332 331 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\controls.pp"/> 333 332 <UnitName Value="Controls"/> 334 <EditorIndex Value=" 6"/>335 <WindowIndex Value="0"/> 336 <TopLine Value=" 1397"/>337 <CursorPos X=" 14" Y="1410"/>338 <UsageCount Value="3 5"/>333 <EditorIndex Value="10"/> 334 <WindowIndex Value="0"/> 335 <TopLine Value="497"/> 336 <CursorPos X="3" Y="504"/> 337 <UsageCount Value="36"/> 339 338 <Loaded Value="True"/> 340 339 </Unit28> 341 340 <Unit29> 342 341 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\include\wincontrol.inc"/> 343 <EditorIndex Value="1"/>344 342 <WindowIndex Value="0"/> 345 343 <TopLine Value="7763"/> 346 344 <CursorPos X="1" Y="7776"/> 347 345 <UsageCount Value="29"/> 348 <Loaded Value="True"/>349 346 </Unit29> 350 347 <Unit30> … … 361 358 <ResourceBaseClass Value="Form"/> 362 359 <UnitName Value="UCoolDockCustomize"/> 363 <WindowIndex Value="0"/> 364 <TopLine Value="36"/> 365 <CursorPos X="3" Y="49"/> 360 <EditorIndex Value="6"/> 361 <WindowIndex Value="0"/> 362 <TopLine Value="1"/> 363 <CursorPos X="33" Y="9"/> 366 364 <UsageCount Value="49"/> 365 <Loaded Value="True"/> 367 366 </Unit31> 368 367 <Unit32> 369 368 <Filename Value="..\..\UCoolDockCommon.pas"/> 370 369 <UnitName Value="UCoolDockCommon"/> 371 <EditorIndex Value="2"/> 372 <WindowIndex Value="0"/> 373 <TopLine Value="7"/> 374 <CursorPos X="3" Y="20"/> 375 <UsageCount Value="53"/> 370 <IsVisibleTab Value="True"/> 371 <EditorIndex Value="3"/> 372 <WindowIndex Value="0"/> 373 <TopLine Value="51"/> 374 <CursorPos X="29" Y="62"/> 375 <UsageCount Value="54"/> 376 376 <Loaded Value="True"/> 377 377 </Unit32> … … 379 379 <Filename Value="..\..\UCoolDockPopupMenu.pas"/> 380 380 <UnitName Value="UCoolDockPopupMenu"/> 381 <WindowIndex Value="0"/> 382 <TopLine Value="161"/> 383 <CursorPos X="3" Y="165"/> 381 <EditorIndex Value="2"/> 382 <WindowIndex Value="0"/> 383 <TopLine Value="21"/> 384 <CursorPos X="73" Y="37"/> 384 385 <UsageCount Value="48"/> 386 <Loaded Value="True"/> 385 387 </Unit33> 386 388 <Unit34> … … 408 410 <Unit37> 409 411 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classes.inc"/> 410 <EditorIndex Value=" 17"/>412 <EditorIndex Value="21"/> 411 413 <WindowIndex Value="0"/> 412 414 <TopLine Value="514"/> 413 415 <CursorPos X="60" Y="523"/> 414 <UsageCount Value="1 0"/>416 <UsageCount Value="11"/> 415 417 <Loaded Value="True"/> 416 418 </Unit37> … … 433 435 <Filename Value="..\..\UCoolDockStyle.pas"/> 434 436 <UnitName Value="UCoolDockStyle"/> 435 <EditorIndex Value="1 0"/>437 <EditorIndex Value="14"/> 436 438 <WindowIndex Value="0"/> 437 439 <TopLine Value="53"/> 438 440 <CursorPos X="1" Y="66"/> 439 <UsageCount Value="3 6"/>441 <UsageCount Value="37"/> 440 442 <Loaded Value="True"/> 441 443 </Unit40> … … 443 445 <Filename Value="..\..\UCoolDockClientPanel.pas"/> 444 446 <UnitName Value="UCoolDockClientPanel"/> 445 <EditorIndex Value=" 9"/>446 <WindowIndex Value="0"/> 447 <TopLine Value=" 150"/>448 <CursorPos X=" 3" Y="152"/>449 <UsageCount Value="3 6"/>447 <EditorIndex Value="13"/> 448 <WindowIndex Value="0"/> 449 <TopLine Value="53"/> 450 <CursorPos X="49" Y="70"/> 451 <UsageCount Value="37"/> 450 452 <Loaded Value="True"/> 451 453 </Unit41> … … 461 463 <Filename Value="..\..\UCoolDockStyleTabs.pas"/> 462 464 <UnitName Value="UCoolDockStyleTabs"/> 463 <EditorIndex Value=" 18"/>464 <WindowIndex Value="0"/> 465 <TopLine Value=" 192"/>466 <CursorPos X=" 52" Y="205"/>467 <UsageCount Value="3 5"/>465 <EditorIndex Value="22"/> 466 <WindowIndex Value="0"/> 467 <TopLine Value="27"/> 468 <CursorPos X="33" Y="47"/> 469 <UsageCount Value="36"/> 468 470 <Loaded Value="True"/> 469 471 </Unit43> … … 494 496 <Filename Value="..\..\UCoolDockStyleRegions.pas"/> 495 497 <UnitName Value="UCoolDockStyleRegions"/> 496 <EditorIndex Value="1 3"/>497 <WindowIndex Value="0"/> 498 <TopLine Value=" 82"/>499 <CursorPos X=" 40" Y="120"/>500 <UsageCount Value="3 4"/>498 <EditorIndex Value="17"/> 499 <WindowIndex Value="0"/> 500 <TopLine Value="26"/> 501 <CursorPos X="55" Y="40"/> 502 <UsageCount Value="35"/> 501 503 <Loaded Value="True"/> 502 504 </Unit47> … … 555 557 <TopLine Value="23"/> 556 558 <CursorPos X="15" Y="24"/> 557 <UsageCount Value="2 8"/>559 <UsageCount Value="29"/> 558 560 </Unit54> 559 561 <Unit55> … … 568 570 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\packages\fcl-base\src\custapp.pp"/> 569 571 <UnitName Value="CustApp"/> 570 <EditorIndex Value=" 5"/>572 <EditorIndex Value="9"/> 571 573 <WindowIndex Value="0"/> 572 574 <TopLine Value="13"/> 573 575 <CursorPos X="3" Y="26"/> 576 <UsageCount Value="11"/> 577 <Loaded Value="True"/> 578 </Unit56> 579 <Unit57> 580 <Filename Value="..\..\UCoolDockManager.pas"/> 581 <UnitName Value="UCoolDockManager"/> 582 <EditorIndex Value="7"/> 583 <WindowIndex Value="0"/> 584 <TopLine Value="339"/> 585 <CursorPos X="1" Y="364"/> 586 <UsageCount Value="11"/> 587 <Loaded Value="True"/> 588 </Unit57> 589 <Unit58> 590 <Filename Value="..\..\UCoolDockConjoinForm.pas"/> 591 <UnitName Value="UCoolDockConjoinForm"/> 592 <EditorIndex Value="1"/> 593 <WindowIndex Value="0"/> 594 <TopLine Value="1"/> 595 <CursorPos X="14" Y="3"/> 574 596 <UsageCount Value="10"/> 575 597 <Loaded Value="True"/> 576 </Unit56> 598 </Unit58> 599 <Unit59> 600 <Filename Value="E:\Projekty2\FreePascalManager\trunk\Instance\1\Lazarus\lcl\extctrls.pp"/> 601 <UnitName Value="ExtCtrls"/> 602 <EditorIndex Value="4"/> 603 <WindowIndex Value="0"/> 604 <TopLine Value="1129"/> 605 <CursorPos X="3" Y="1142"/> 606 <UsageCount Value="10"/> 607 <Loaded Value="True"/> 608 </Unit59> 577 609 </Units> 578 610 <JumpHistory Count="30" HistoryIndex="29"> 579 611 <Position1> 580 <Filename Value="..\..\UCoolDock Layout.pas"/>581 <Caret Line=" 386" Column="36" TopLine="369"/>612 <Filename Value="..\..\UCoolDocking.pas"/> 613 <Caret Line="117" Column="18" TopLine="96"/> 582 614 </Position1> 583 615 <Position2> 584 <Filename Value="..\..\UCoolDock Layout.pas"/>585 <Caret Line=" 81" Column="17" TopLine="59"/>616 <Filename Value="..\..\UCoolDockCommon.pas"/> 617 <Caret Line="64" Column="27" TopLine="53"/> 586 618 </Position2> 587 619 <Position3> 588 <Filename Value="..\..\UCoolDock Layout.pas"/>589 <Caret Line=" 88" Column="32" TopLine="69"/>620 <Filename Value="..\..\UCoolDockCommon.pas"/> 621 <Caret Line="117" Column="1" TopLine="116"/> 590 622 </Position3> 591 623 <Position4> 592 <Filename Value=" E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>593 <Caret Line=" 3" Column="72" TopLine="1"/>624 <Filename Value="..\..\UCoolDocking.pas"/> 625 <Caret Line="171" Column="1" TopLine="152"/> 594 626 </Position4> 595 627 <Position5> 596 <Filename Value=" E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>597 <Caret Line="1 942" Column="23" TopLine="1921"/>628 <Filename Value="..\..\UCoolDocking.pas"/> 629 <Caret Line="100" Column="9" TopLine="87"/> 598 630 </Position5> 599 631 <Position6> 600 <Filename Value=" E:\Projekty2\FreePascalManager\trunk\Instance\1\FPC\rtl\objpas\classes\classesh.inc"/>601 <Caret Line=" 1955" Column="87" TopLine="1934"/>632 <Filename Value="..\..\UCoolDocking.pas"/> 633 <Caret Line="26" Column="35" TopLine="24"/> 602 634 </Position6> 603 635 <Position7> 604 <Filename Value="..\..\UCoolDock Layout.pas"/>605 <Caret Line=" 88" Column="32" TopLine="69"/>636 <Filename Value="..\..\UCoolDockCommon.pas"/> 637 <Caret Line="49" Column="24" TopLine="35"/> 606 638 </Position7> 607 639 <Position8> 608 <Filename Value="..\..\UCoolDock Layout.pas"/>609 <Caret Line=" 83" Column="9" TopLine="70"/>640 <Filename Value="..\..\UCoolDockCommon.pas"/> 641 <Caret Line="50" Column="34" TopLine="36"/> 610 642 </Position8> 611 643 <Position9> 612 <Filename Value="..\..\UCoolDock Layout.pas"/>613 <Caret Line=" 90" Column="25" TopLine="77"/>644 <Filename Value="..\..\UCoolDocking.pas"/> 645 <Caret Line="26" Column="42" TopLine="24"/> 614 646 </Position9> 615 647 <Position10> 616 <Filename Value="..\..\UCoolDock Layout.pas"/>617 <Caret Line=" 541" Column="25" TopLine="519"/>648 <Filename Value="..\..\UCoolDockCommon.pas"/> 649 <Caret Line="49" Column="1" TopLine="29"/> 618 650 </Position10> 619 651 <Position11> 620 <Filename Value="..\..\UCoolDock Layout.pas"/>621 <Caret Line=" 397" Column="1" TopLine="380"/>652 <Filename Value="..\..\UCoolDockCommon.pas"/> 653 <Caret Line="173" Column="40" TopLine="173"/> 622 654 </Position11> 623 655 <Position12> 624 <Filename Value="..\..\UCoolDock Layout.pas"/>625 <Caret Line=" 398" Column="1" TopLine="380"/>656 <Filename Value="..\..\UCoolDockCommon.pas"/> 657 <Caret Line="49" Column="43" TopLine="49"/> 626 658 </Position12> 627 659 <Position13> 628 <Filename Value="..\..\UCoolDock Layout.pas"/>629 <Caret Line=" 397" Column="1" TopLine="380"/>660 <Filename Value="..\..\UCoolDocking.pas"/> 661 <Caret Line="26" Column="29" TopLine="25"/> 630 662 </Position13> 631 663 <Position14> 632 <Filename Value="..\..\UCoolDock Layout.pas"/>633 <Caret Line=" 82" Column="1" TopLine="69"/>664 <Filename Value="..\..\UCoolDockCommon.pas"/> 665 <Caret Line="182" Column="14" TopLine="180"/> 634 666 </Position14> 635 667 <Position15> 636 <Filename Value="..\..\UCoolDock Layout.pas"/>637 <Caret Line=" 83" Column="1" TopLine="69"/>668 <Filename Value="..\..\UCoolDocking.pas"/> 669 <Caret Line="26" Column="29" TopLine="25"/> 638 670 </Position15> 639 671 <Position16> 640 <Filename Value="..\..\UCoolDock Layout.pas"/>641 <Caret Line=" 84" Column="1" TopLine="69"/>672 <Filename Value="..\..\UCoolDocking.pas"/> 673 <Caret Line="163" Column="1" TopLine="139"/> 642 674 </Position16> 643 675 <Position17> 644 <Filename Value="..\..\UCoolDock Layout.pas"/>645 <Caret Line=" 85" Column="1" TopLine="69"/>676 <Filename Value="..\..\UCoolDocking.pas"/> 677 <Caret Line="26" Column="43" TopLine="20"/> 646 678 </Position17> 647 679 <Position18> 648 <Filename Value="..\..\UCoolDock Layout.pas"/>649 <Caret Line="8 8" Column="41" TopLine="69"/>680 <Filename Value="..\..\UCoolDockConjoinForm.pas"/> 681 <Caret Line="80" Column="1" TopLine="57"/> 650 682 </Position18> 651 683 <Position19> 652 <Filename Value="..\..\UCoolDock Layout.pas"/>653 <Caret Line=" 400" Column="1" TopLine="387"/>684 <Filename Value="..\..\UCoolDockConjoinForm.pas"/> 685 <Caret Line="57" Column="17" TopLine="44"/> 654 686 </Position19> 655 687 <Position20> 656 <Filename Value="..\..\UCoolDock Layout.pas"/>657 <Caret Line=" 88" Column="53" TopLine="75"/>688 <Filename Value="..\..\UCoolDockPopupMenu.pas"/> 689 <Caret Line="165" Column="3" TopLine="161"/> 658 690 </Position20> 659 691 <Position21> 660 <Filename Value="..\..\UCoolDock Layout.pas"/>661 <Caret Line=" 400" Column="1" TopLine="387"/>692 <Filename Value="..\..\UCoolDockStyleRegions.pas"/> 693 <Caret Line="120" Column="40" TopLine="82"/> 662 694 </Position21> 663 695 <Position22> 664 <Filename Value="..\..\UCoolDock Layout.pas"/>665 <Caret Line="40 1" Column="1" TopLine="387"/>696 <Filename Value="..\..\UCoolDockStyleRegions.pas"/> 697 <Caret Line="40" Column="37" TopLine="27"/> 666 698 </Position22> 667 699 <Position23> 668 <Filename Value="..\..\UCoolDock Layout.pas"/>669 <Caret Line=" 400" Column="1" TopLine="387"/>700 <Filename Value="..\..\UCoolDockStyleTabs.pas"/> 701 <Caret Line="205" Column="52" TopLine="192"/> 670 702 </Position23> 671 703 <Position24> 672 <Filename Value="..\..\UCoolDock Layout.pas"/>673 <Caret Line=" 401" Column="1" TopLine="387"/>704 <Filename Value="..\..\UCoolDockClientPanel.pas"/> 705 <Caret Line="152" Column="3" TopLine="150"/> 674 706 </Position24> 675 707 <Position25> 676 708 <Filename Value="..\..\UCoolDockLayout.pas"/> 677 <Caret Line=" 418" Column="34" TopLine="396"/>709 <Caret Line="354" Column="48" TopLine="349"/> 678 710 </Position25> 679 711 <Position26> 680 712 <Filename Value="..\..\UCoolDockLayout.pas"/> 681 <Caret Line=" 400" Column="1" TopLine="395"/>713 <Caret Line="72" Column="28" TopLine="47"/> 682 714 </Position26> 683 715 <Position27> 684 <Filename Value="..\..\UCoolDock Layout.pas"/>685 <Caret Line="4 01" Column="1" TopLine="395"/>716 <Filename Value="..\..\UCoolDockCustomize.pas"/> 717 <Caret Line="49" Column="3" TopLine="36"/> 686 718 </Position27> 687 719 <Position28> 688 <Filename Value="..\..\UCoolDock Layout.pas"/>689 <Caret Line=" 417" Column="1" TopLine="396"/>720 <Filename Value="..\..\UCoolDockCustomize.pas"/> 721 <Caret Line="9" Column="38" TopLine="1"/> 690 722 </Position28> 691 723 <Position29> 692 <Filename Value=" ..\..\UCoolDockLayout.pas"/>693 <Caret Line=" 418" Column="1" TopLine="397"/>724 <Filename Value="UMainForm.pas"/> 725 <Caret Line="163" Column="49" TopLine="148"/> 694 726 </Position29> 695 727 <Position30> 696 <Filename Value=" ..\..\UCoolDockLayout.pas"/>697 <Caret Line=" 420" Column="1" TopLine="399"/>728 <Filename Value="UMainForm.pas"/> 729 <Caret Line="13" Column="77" TopLine="1"/> 698 730 </Position30> 699 731 </JumpHistory> … … 721 753 </CompilerOptions> 722 754 <Debugging> 723 <BreakPoints Count="1">724 <Item1>725 <Source Value="..\..\UCoolDocking.pas"/>726 <Line Value="294"/>727 </Item1>728 </BreakPoints>729 755 <Watches Count="1"> 730 756 <Item1> -
Docking/CoolDocking/Demo/IDE/UMainForm.pas
r186 r187 11 11 UMessagesForm, UCallStackForm, ULocalVariablesForm, UToDoListForm, 12 12 UWatchListForm, UThreadStatusForm, USourceEditorForm, UCoolDockWindowList, 13 UCoolDockCustomize, UComponentTree ;13 UCoolDockCustomize, UComponentTree, UCoolDockConjoinForm, UCoolDockManager; 14 14 15 15 const -
Docking/CoolDocking/UCoolDockClientPanel.pas
r184 r187 68 68 69 69 uses 70 UCoolDocking, UCoolDockStyle ;70 UCoolDocking, UCoolDockStyle, UCoolDockManager; 71 71 72 72 { TCoolDockClientPanel } -
Docking/CoolDocking/UCoolDockCommon.pas
r183 r187 6 6 7 7 uses 8 Classes, SysUtils, Forms, Controls ;8 Classes, SysUtils, Forms, Controls, Contnrs, StdCtrls, ExtCtrls, ComCtrls; 9 9 10 10 type … … 14 14 15 15 TCoolDockMasterBase = class; 16 TCoolDockClientBase = class; 17 18 { TCoolDockManagerBase } 16 19 17 20 TCoolDockManagerBase = class(TDockManager) 21 private 22 FMaster: TCoolDockMasterBase; 23 procedure SetMaster(const AValue: TCoolDockMasterBase); 24 public 25 property Master: TCoolDockMasterBase read FMaster write SetMaster; 18 26 end; 19 27 … … 30 38 end; 31 39 40 { TCoolDockMasterBase } 41 32 42 TCoolDockMasterBase = class(TComponent) 33 43 private 34 44 FCoolDockCustomize: TCoolDockCustomizeBase; 45 FClients: TObjectList; // TList<TCoolDockClientBase> 46 function GetClient(Index: Integer): TCoolDockClientBase; 35 47 procedure SetCustomize(const AValue: TCoolDockCustomizeBase); 48 public 49 constructor Create(AOwner: TComponent); override; 50 destructor Destroy; override; 51 procedure RegisterClient(Client: TCoolDockClientBase); 52 procedure UnRegisterClient(Client: TCoolDockClientBase); 53 property Clients[Index: Integer]: TCoolDockClientBase read GetClient; 36 54 published 37 55 property Customize: TCoolDockCustomizeBase read FCoolDockCustomize … … 39 57 end; 40 58 59 { TCoolDockClientBase } 60 61 TCoolDockClientBase = class(TComponent) 62 private 63 FMaster: TCoolDockMasterBase; 64 FPanel: TPanel; 65 procedure SetMaster(const AValue: TCoolDockMasterBase); 66 procedure SetPanel(const AValue: TPanel); 67 published 68 property Master: TCoolDockMasterBase read FMaster 69 write SetMaster; 70 property Panel: TPanel read FPanel 71 write SetPanel; 72 end; 73 74 function GetUniqueName(BaseName: string): string; 75 41 76 implementation 77 78 function GetUniqueName(BaseName: string): string; 79 var 80 I: Integer; 81 begin 82 I := 1; 83 while Assigned(FindGlobalComponent(BaseName + IntToStr(I))) do Inc(I); 84 Result := BaseName + IntToStr(I); 85 end; 86 87 88 { TCoolDockManagerBase } 89 90 procedure TCoolDockManagerBase.SetMaster(const AValue: TCoolDockMasterBase); 91 begin 92 if FMaster = AValue then Exit; 93 FMaster := AValue; 94 end; 95 96 { TCoolDockClientBase } 97 98 procedure TCoolDockClientBase.SetMaster(const AValue: TCoolDockMasterBase); 99 var 100 FOldMaster: TCoolDockMasterBase; 101 begin 102 if FMaster = AValue then Exit; 103 FOldMaster := FMaster; 104 FMaster := AValue; 105 if Assigned(FOldMaster) then 106 FOldMaster.UnregisterClient(Self); 107 if Assigned(FMaster) then begin 108 FMaster.RegisterClient(Self); 109 if not (csDesigning in ComponentState) then begin 110 if Assigned(TWinControl(Owner).DockManager) then 111 TCoolDockManagerBase(TWinControl(Owner).DockManager).Master := FMaster; 112 if Assigned(FPanel) then 113 TCoolDockManagerBase(FPanel.DockManager).Master := FMaster; 114 end; 115 end; 116 end; 117 118 procedure TCoolDockClientBase.SetPanel(const AValue: TPanel); 119 var 120 OldPanel: TPanel; 121 begin 122 if FPanel = AValue then exit; 123 OldPanel := FPanel; 124 FPanel := AValue; 125 if not (csDesigning in ComponentState) then begin 126 if Assigned(FPanel) then 127 with FPanel do begin 128 DockSite := True; 129 UseDockManager := True; 130 //DockManager := TCoolDockManager.Create(FPanel); 131 end else begin 132 OldPanel.DockSite := False; 133 end; 134 end; 135 end; 42 136 43 137 { TCoolDockConjoinFormBase } … … 77 171 end; 78 172 173 constructor TCoolDockMasterBase.Create(AOwner: TComponent); 174 begin 175 inherited; 176 FClients := TObjectList.Create; 177 FClients.OwnsObjects := False; 178 end; 179 180 destructor TCoolDockMasterBase.Destroy; 181 var 182 I: Integer; 183 begin 184 for I := FClients.Count - 1 downto 0 do 185 TCoolDockClientBase(FClients[I]).Master := nil; 186 FClients.Free; 187 inherited Destroy; 188 end; 189 190 procedure TCoolDockMasterBase.RegisterClient(Client: TCoolDockClientBase); 191 begin 192 if Assigned(Client) then 193 if FClients.IndexOf(Client) = -1 then begin 194 FClients.Add(Client); 195 Client.Master := Self; 196 end; 197 end; 198 199 procedure TCoolDockMasterBase.UnRegisterClient(Client: TCoolDockClientBase); 200 begin 201 if Assigned(Client) then begin 202 Client.Master := nil; 203 FClients.Remove(Client); 204 end; 205 end; 206 207 function TCoolDockMasterBase.GetClient(Index: Integer): TCoolDockClientBase; 208 begin 209 Result := TCoolDockClientBase(FClients[Index]); 210 end; 211 212 213 79 214 80 215 end. -
Docking/CoolDocking/UCoolDockLayout.pas
r186 r187 70 70 71 71 uses 72 UCoolDocking ;72 UCoolDocking, UCoolDockManager, UCoolDockConjoinForm; 73 73 74 74 procedure Register; -
Docking/CoolDocking/UCoolDockPopupMenu.pas
r182 r187 35 35 36 36 uses 37 UCoolDocking, UCoolDockStyleTabs, UCoolDockCustomize ;37 UCoolDocking, UCoolDockStyleTabs, UCoolDockCustomize, UCoolDockManager; 38 38 39 39 resourcestring -
Docking/CoolDocking/UCoolDockStyleRegions.pas
r186 r187 38 38 39 39 uses 40 UCoolDocking ;40 UCoolDocking, UCoolDockConjoinForm, UCoolDockManager; 41 41 42 42 -
Docking/CoolDocking/UCoolDockStyleTabs.pas
r184 r187 45 45 46 46 uses 47 UCoolDocking ;47 UCoolDocking, UCoolDockManager; 48 48 49 49 { TCoolDockStyleTabs } -
Docking/CoolDocking/UCoolDocking.pas
r186 r187 13 13 DateUtils, UCoolDockStyleTabs, UCoolDockStyleRegions, UCoolDockStylePopupTabs, 14 14 UCoolDockStylePopupRegions, UCoolDockStyle, UCoolDockClientPanel, 15 UCoolDockPopupMenu ;15 UCoolDockPopupMenu, UCoolDockManager; 16 16 17 17 const … … 19 19 20 20 type 21 TCoolDockManager = class;22 21 TCoolDockClient = class; 23 22 TCoolDockMaster = class; 24 25 { TCoolDockConjoinForm }26 27 TCoolDockConjoinForm = class(TCoolDockConjoinFormBase)28 public29 CoolDockClient: TCoolDockClient;30 procedure FormShow(Sender : TObject);31 procedure FormHide(Sender : TObject);32 constructor Create(TheOwner: TComponent); override;33 destructor Destroy; override;34 private35 procedure SetName(const NewName: TComponentName); override;36 end;37 38 39 { TCoolDockPanels }40 41 // TCoolDockPanels = TObjectList<TCoolDockClientPanel>42 TCoolDockPanels = class(TObjectList)43 destructor Destroy; override;44 end;45 46 { TCoolDockManager }47 48 TCoolDockManager = class(TCoolDockManagerBase)49 private50 FMaster: TCoolDockMaster;51 FDockStyle: TDockStyle;52 FDockSite: TWinControl;53 FDockPanels: TCoolDockPanels;54 function GetDockSite: TWinControl;55 function GetHeaderPos: THeaderPos;56 function GetMoveDuration: Integer;57 procedure InsertControlPanel(Control: TControl; InsertAt: TAlign;58 DropCtl: TControl);59 procedure SetDockStyle(const AValue: TDockStyle);60 procedure SetHeaderPos(const AValue: THeaderPos);61 procedure SetMaster(const AValue: TCoolDockMaster);62 procedure SetMoveDuration(const AValue: Integer);63 procedure SetVisible(const AValue: Boolean);64 procedure UpdateClientSize;65 public66 DockStyleHandler: TCoolDockStyle;67 PopupMenu: TCoolDockPopupMenu;68 constructor Create(ADockSite: TWinControl); override;69 destructor Destroy; override;70 71 // Inherited from TDockManager72 procedure BeginUpdate; override;73 procedure EndUpdate; override;74 procedure GetControlBounds(Control: TControl;75 out AControlBounds: TRect); override;76 function GetDockEdge(ADockObject: TDragDockObject): boolean; override;77 procedure InsertControl(ADockObject: TDragDockObject); override; overload;78 procedure InsertControl(Control: TControl; InsertAt: TAlign;79 DropCtl: TControl); override; overload;80 procedure LoadFromStream(Stream: TStream); override;81 procedure PaintSite(DC: HDC); override;82 procedure MessageHandler(Sender: TControl; var Message: TLMessage); override;83 procedure PositionDockRect(ADockObject: TDragDockObject); override; overload;84 procedure PositionDockRect(Client, DropCtl: TControl; DropAlign: TAlign;85 var DockRect: TRect); override; overload;86 procedure RemoveControl(Control: TControl); override;87 procedure ResetBounds(Force: Boolean); override;88 procedure SaveToStream(Stream: TStream); override;89 procedure SetReplacingControl(Control: TControl); override;90 function AutoFreeByControl: Boolean; override;91 92 function FindControlInPanels(Control: TControl): TCoolDockClientPanel;93 function CreateContainer(InsertAt: TAlign): TCoolDockConjoinForm;94 property DockPanels: TCoolDockPanels read FDockPanels write FDockPanels;95 property DockStyle: TDockStyle read FDockStyle write SetDockStyle;96 property MoveDuration: Integer read GetMoveDuration write SetMoveDuration;97 property Master: TCoolDockMaster read FMaster write SetMaster;98 property DockSite: TWinControl read GetDockSite;99 property HeaderPos: THeaderPos read GetHeaderPos write SetHeaderPos;100 property Visible: Boolean write SetVisible;101 end;102 23 103 24 { TCoolDockMaster } … … 110 31 FShowIcons: Boolean; 111 32 FTabsEnabled: Boolean; 112 FClients: TObjectList;113 function GetClient(Index: Integer): TCoolDockClient;114 33 procedure SetShowIcons(const AValue: Boolean); 115 34 procedure SetTabsEnabled(const AValue: Boolean); … … 117 36 constructor Create(AOwner: TComponent); override; 118 37 destructor Destroy; override; 119 procedure RegisterClient(Client: TCoolDockClient);120 procedure UnRegisterClient(Client: TCoolDockClient);121 property Clients[Index: Integer]: TCoolDockClient read GetClient;122 38 published 123 39 property TabsEnabled: Boolean read FTabsEnabled write SetTabsEnabled; … … 132 48 end; 133 49 134 TCoolDockClient = class(TCo mponent)50 TCoolDockClient = class(TCoolDockClientBase) 135 51 private 136 52 FDockable: Boolean; 137 53 FFloatable: Boolean; 138 FMaster: TCoolDockMaster;139 FPanel: TPanel;140 54 procedure SetDockable(const AValue: Boolean); 141 55 procedure SetFloatable(const AValue: Boolean); 142 procedure SetMaster(const AValue: TCoolDockMaster);143 procedure SetPanel(const AValue: TPanel);144 56 public 145 57 constructor Create(AOwner: TComponent); override; … … 150 62 property Floatable: Boolean read FFloatable 151 63 write SetFloatable default True; 152 property Master: TCoolDockMaster read FMaster153 write SetMaster;154 property Panel: TPanel read FPanel155 write SetPanel;156 64 end; 157 65 … … 171 79 end; 172 80 173 function GetUniqueName(BaseName: string): string;174 var175 I: Integer;176 begin177 I := 1;178 while Assigned(FindGlobalComponent(BaseName + IntToStr(I))) do Inc(I);179 Result := BaseName + IntToStr(I);180 end;181 182 { TCoolDockPanels }183 184 destructor TCoolDockPanels.Destroy;185 var186 Temp: Integer;187 begin188 Temp := Count;189 inherited Destroy;190 end;191 192 193 { TCoolDockManager }194 195 function TCoolDockManager.FindControlInPanels(Control: TControl196 ): TCoolDockClientPanel;197 var198 I: Integer;199 begin200 I := 0;201 while (I < FDockPanels.Count) and202 (TCoolDockClientPanel(FDockPanels[I]).Control <> Control) do Inc(I);203 if I < FDockPanels.Count then Result := TCoolDockClientPanel(FDockPanels[I])204 else Result := nil;205 end;206 207 function TCoolDockManager.GetDockSite: TWinControl;208 begin209 Result := FDockSite;210 end;211 212 function TCoolDockManager.GetHeaderPos: THeaderPos;213 begin214 215 end;216 217 function TCoolDockManager.GetMoveDuration: Integer;218 begin219 220 end;221 222 constructor TCoolDockManager.Create(ADockSite: TWinControl);223 var224 NewMenuItem: TMenuItem;225 NewMenuItem2: TMenuItem;226 begin227 inherited Create(ADockSite);228 FDockSite := ADockSite;229 FDockPanels := TCoolDockPanels.Create;230 231 FDockStyle := dsTabs; // To initialize style value have to be different232 DockStyle := dsList;233 PopupMenu := TCoolDockPopupMenu.Create(Self);234 PopupMenu.Parent := ADockSite;235 end;236 237 destructor TCoolDockManager.Destroy;238 begin239 PopupMenu.Free;240 DockStyleHandler.Free;241 FDockPanels.Free;242 inherited Destroy;243 end;244 245 procedure TCoolDockManager.BeginUpdate;246 begin247 inherited BeginUpdate;248 end;249 250 procedure TCoolDockManager.EndUpdate;251 begin252 inherited EndUpdate;253 end;254 255 procedure TCoolDockManager.GetControlBounds(Control: TControl; out256 AControlBounds: TRect);257 begin258 end;259 260 function TCoolDockManager.GetDockEdge(ADockObject: TDragDockObject): boolean;261 begin262 Result := inherited GetDockEdge(ADockObject);263 end;264 265 procedure TCoolDockManager.InsertControl(ADockObject: TDragDockObject);266 begin267 inherited InsertControl(ADockObject);268 end;269 270 procedure TCoolDockManager.InsertControlPanel(Control: TControl; InsertAt: TAlign;271 DropCtl: TControl);272 begin273 DockStyleHandler.InsertControl(Control, InsertAt);274 end;275 276 procedure TCoolDockManager.InsertControl(Control: TControl; InsertAt: TAlign;277 DropCtl: TControl);278 var279 NewSplitter: TSplitter;280 NewDockPanel: TCoolDockClientPanel;281 NewPanel: TPanel;282 I: Integer;283 NewConjoinDockForm: TCoolDockConjoinForm;284 NewDockSite: TWinControl;285 NewForm: TForm;286 begin287 if (FDockSite is TForm) and (not (FDockSite is TCoolDockConjoinForm)) then begin288 if (not Assigned(FDockSite.Parent)) then begin289 // Create conjointed form290 NewConjoinDockForm := CreateContainer(InsertAt);291 FDockSite.ManualDock(NewConjoinDockForm);292 Control.ManualDock(NewConjoinDockForm, nil, InsertAt);293 end else begin294 NewConjoinDockForm := CreateContainer(InsertAt);295 NewDockSite := FDockSite.HostDockSite;296 // FDockSite.ManualFloat(FDockSite.BoundsRect);297 NewConjoinDockForm.ManualDock(NewDockSite, nil, InsertAt);298 FDockSite.ManualDock(NewConjoinDockForm);299 Control.ManualDock(NewConjoinDockForm, nil, InsertAt);300 end;301 end else302 if (FDockSite is TCoolDockConjoinForm) or (FDockSite is TPanel) or (FDockSite is TCoolDockClientPanel) then begin303 InsertControlPanel(Control, InsertAt, DropCtl);304 end;305 306 // FDockPanel.Invalidate;307 //inherited;308 end;309 310 procedure TCoolDockManager.LoadFromStream(Stream: TStream);311 begin312 end;313 314 procedure TCoolDockManager.PaintSite(DC: HDC);315 var316 Canvas: TControlCanvas;317 Control: TControl;318 I: Integer;319 R: TRect;320 begin321 for I := 0 to FDockPanels.Count - 1 do322 with TCoolDockClientPanel(FDockPanels[I]) do begin323 Invalidate;324 end;325 end;326 327 procedure TCoolDockManager.MessageHandler(Sender: TControl;328 var Message: TLMessage);329 begin330 inherited MessageHandler(Sender, Message);331 end;332 333 procedure TCoolDockManager.PositionDockRect(ADockObject: TDragDockObject);334 begin335 inherited PositionDockRect(ADockObject);336 end;337 338 procedure TCoolDockManager.PositionDockRect(Client, DropCtl: TControl;339 DropAlign: TAlign; var DockRect: TRect);340 begin341 case DropAlign of342 alNone: begin343 DockRect := Rect(0, 0, FDockSite.ClientWidth, FDockSite.ClientHeight);344 end;345 alRight: begin346 DockRect := Rect(FDockSite.ClientWidth div 2, 0, FDockSite.ClientWidth, FDockSite.ClientHeight);347 end;348 alLeft: begin349 DockRect := Rect(0, 0, FDockSite.ClientWidth div 2, FDockSite.ClientHeight);350 end;351 alTop: begin352 DockRect := Rect(0, 0, FDockSite.ClientWidth, FDockSite.ClientHeight div 2);353 end;354 alBottom: begin355 DockRect := Rect(0, FDockSite.ClientHeight div 2, FDockSite.ClientWidth, FDockSite.ClientHeight);356 end;357 end;358 DockRect.TopLeft := FDockSite.ClientToScreen(DockRect.TopLeft);359 DockRect.BottomRight := FDockSite.ClientToScreen(DockRect.BottomRight);360 end;361 362 procedure TCoolDockManager.RemoveControl(Control: TControl);363 var364 ClientPanel: TCoolDockClientPanel;365 begin366 DockStyleHandler.RemoveControl(Control);367 //inherited;368 (* if Control.HostDockSite = Self.FDockSite then begin369 ClientPanel := FindControlInPanels(Control);370 371 //if Assigned(ClientPanel) then ClientPanel.Splitter.Free;372 //Control.RemoveHandlerOnVisibleChanged(ClientPanel.VisibleChange);373 FDockPanels.Remove(ClientPanel);374 DockStyleHandler.RemoveControl(Control);375 UpdateClientSize;376 //FDockSite.Invalidate;377 //if (FDockSite is TCoolDockConjoinForm) and (FDockSite.DockClientCount = 1) then378 // FDockSite.Free;379 DockStyle := DockStyle;380 end;381 *)382 end;383 384 procedure TCoolDockManager.ResetBounds(Force: Boolean);385 var386 I: Integer;387 Control: TControl;388 R: TRect;389 begin390 end;391 392 procedure TCoolDockManager.SaveToStream(Stream: TStream);393 begin394 end;395 396 procedure TCoolDockManager.SetReplacingControl(Control: TControl);397 begin398 inherited SetReplacingControl(Control);399 end;400 401 function TCoolDockManager.AutoFreeByControl: Boolean;402 begin403 Result := inherited AutoFreeByControl;404 end;405 406 function TCoolDockManager.CreateContainer(InsertAt: TAlign): TCoolDockConjoinForm;407 var408 NewDockSite: TWinControl;409 NewConjoinDockForm: TCoolDockConjoinForm;410 begin411 NewConjoinDockForm := TCoolDockConjoinForm.Create(Application);412 NewConjoinDockForm.Name := GetUniqueName('ConjoinForm');413 NewConjoinDockForm.Visible := True;414 NewConjoinDockForm.BoundsRect := FDockSite.BoundsRect;415 NewConjoinDockForm.CoolDockClient.Master := Self.Master;416 NewDockSite := FDockSite.HostDockSite;417 // FDockSite.ManualFloat(FDockSite.BoundsRect);418 //NewConjoinDockForm.ManualDock(NewDockSite, nil, InsertAt);419 Result := NewConjoinDockForm;420 end;421 422 procedure TCoolDockManager.SetDockStyle(const AValue: TDockStyle);423 var424 I: Integer;425 begin426 if FDockStyle <> AValue then begin427 FDockStyle := AValue;428 FreeAndNil(DockStyleHandler);429 if AValue = dsTabs then begin430 DockStyleHandler := TCoolDockStyleTabs.Create(Self);431 TCoolDockStyleTabs(DockStyleHandler).TabControlChange(Self);432 end else433 if AValue = dsList then begin434 DockStyleHandler := TCoolDockStyleRegions.Create(Self);435 end else436 if AValue = dsPopupList then begin437 DockStyleHandler := TCoolDockStylePopupRegions.Create(Self);438 end else439 if AValue = dsPopupTabs then begin440 DockStyleHandler := TCoolDockStylePopupTabs.Create(Self);441 end;442 end;443 UpdateClientSize;444 end;445 446 procedure TCoolDockManager.SetHeaderPos(const AValue: THeaderPos);447 begin448 449 end;450 451 procedure TCoolDockManager.SetMaster(const AValue: TCoolDockMaster);452 begin453 if FMaster = AValue then Exit;454 FMaster := AValue;455 end;456 457 procedure TCoolDockManager.SetMoveDuration(const AValue: Integer);458 begin459 end;460 461 procedure TCoolDockManager.SetVisible(const AValue: Boolean);462 var463 I: Integer;464 begin465 DockStyleHandler.Visible := AValue;466 // for I := 0 to DockPanels.Count - 1 do467 // TCoolDockClientPanel(DockPanels[I]).Visible := AValue;468 end;469 470 procedure TCoolDockManager.UpdateClientSize;471 begin472 DockStyleHandler.UpdateClientSize;473 end;474 475 { TCoolDockConjoinForm }476 477 procedure TCoolDockConjoinForm.FormShow(Sender: TObject);478 begin479 TCoolDockManager(DockManager).Visible := True;480 end;481 482 procedure TCoolDockConjoinForm.FormHide(Sender: TObject);483 var484 I: Integer;485 begin486 TCoolDockManager(DockManager).Visible := False;487 // Hide all docked childs488 with TCoolDockManager(DockManager) do489 for I := 0 to DockPanels.Count - 1 do490 if Assigned(TCoolDockClientPanel(DockPanels[I]).Control) then begin491 TCoolDockClientPanel(DockPanels[I]).Control.Tag := Integer(dhtTemporal);492 TCoolDockClientPanel(DockPanels[I]).Control.Hide;493 end;494 end;495 496 constructor TCoolDockConjoinForm.Create(TheOwner: TComponent);497 begin498 inherited CreateNew(TheOwner);499 CoolDockClient := TCoolDockClient.Create(Self);500 with CoolDockClient do begin501 end;502 OnShow := FormShow;503 OnHide := FormHide;504 end;505 506 destructor TCoolDockConjoinForm.Destroy;507 begin508 inherited;509 end;510 511 procedure TCoolDockConjoinForm.SetName(const NewName: TComponentName);512 begin513 inherited SetName(NewName);514 CoolDockClient.Name := Name + 'CoolDockClient';515 end;516 81 517 82 { TCoolDockMaster } … … 521 86 if FTabsEnabled = AValue then Exit; 522 87 FTabsEnabled := AValue; 523 end;524 525 function TCoolDockMaster.GetClient(Index: Integer): TCoolDockClient;526 begin527 Result := TCoolDockClient(FClients[Index]);528 88 end; 529 89 … … 537 97 begin 538 98 inherited Create(AOwner); 539 FClients := TObjectList.Create;540 FClients.OwnsObjects := False;541 99 end; 542 100 … … 546 104 begin 547 105 // Assigning nil to Client Master property cause unregistring client from list 548 for I := FClients.Count - 1 downto 0 do549 TCoolDockClient(FClients[I]).Master := nil;550 FClients.Free;551 106 Customize := nil; 552 107 inherited Destroy; 553 108 end; 554 109 555 procedure TCoolDockMaster.RegisterClient(Client: TCoolDockClient);556 begin557 if Assigned(Client) then558 if FClients.IndexOf(Client) = -1 then begin559 FClients.Add(Client);560 Client.Master := Self;561 end;562 end;563 564 procedure TCoolDockMaster.UnRegisterClient(Client: TCoolDockClient);565 begin566 if Assigned(Client) then begin567 Client.Master := nil;568 FClients.Remove(Client);569 end;570 end;571 110 572 111 { TCoolDockClient } 573 574 procedure TCoolDockClient.SetMaster(const AValue: TCoolDockMaster);575 var576 FOldMaster: TCoolDockMaster;577 begin578 if FMaster = AValue then Exit;579 FOldMaster := FMaster;580 FMaster := AValue;581 if Assigned(FOldMaster) then582 FOldMaster.UnregisterClient(Self);583 if Assigned(FMaster) then begin584 FMaster.RegisterClient(Self);585 if not (csDesigning in ComponentState) then begin586 if Assigned(TWinControl(Owner).DockManager) then587 TCoolDockManager(TWinControl(Owner).DockManager).Master := FMaster;588 if Assigned(Panel) then589 TCoolDockManager(Panel.DockManager).Master := FMaster;590 end;591 end;592 end;593 112 594 113 procedure TCoolDockClient.SetDockable(const AValue: Boolean); … … 640 159 end; 641 160 642 procedure TCoolDockClient.SetPanel(const AValue: TPanel);643 var644 OldPanel: TPanel;645 begin646 if FPanel = AValue then exit;647 OldPanel := FPanel;648 FPanel := AValue;649 if not (csDesigning in ComponentState) then begin650 if Assigned(FPanel) then651 with FPanel do begin652 DockSite := True;653 UseDockManager := True;654 DockManager := TCoolDockManager.Create(FPanel);655 end else begin656 OldPanel.DockSite := False;657 end;658 end;659 end;660 661 initialization662 663 RegisterClass(TCoolDockConjoinForm);664 665 finalization666 667 UnRegisterClass(TCoolDockConjoinForm);668 669 161 670 162 end.
Note:
See TracChangeset
for help on using the changeset viewer.