View Issue Details

IDProjectCategoryView StatusLast Update
0018262LazarusPatchpublic2011-01-15 22:04
ReporterSven BarthAssigned ToVincent Snijders 
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionfixed 
Product Version0.9.29 (SVN)Product Build 
Target Version0.9.30Fixed in Version0.9.29 (SVN) 
Summary0018262: Fix compilation of EasyDockMgrDsgn package
DescriptionCurrently the IDE can't be compiled with the EasyDockMgrDsgn package enabled.
Additional InformationAttached patch fixes the compilation by extending TIDEDockMaster (and fixing AnchorDockingDsgn in return as well).

An IDE with EasyDockMgrDsgn isn't really usable (some really nasty problems), but they should be reported in extra issues. In the meantime I'm using AnchorDocking in the IDE and that seems to work more or less.
TagsNo tags attached.
Fixed in Revision29792
LazTarget0.9.30
WidgetsetWin32/Win64
Attached Files
  • dsgn-docking.patch (2,904 bytes)
    Index: ideintf/idewindowintf.pas
    ===================================================================
    --- ideintf/idewindowintf.pas	(Revision 28764)
    +++ ideintf/idewindowintf.pas	(Arbeitskopie)
    @@ -337,12 +337,14 @@
     
     type
     
    +  TDockSides = set of TAlign;
    +
       { TIDEDockMaster }
     
       TIDEDockMaster = class
       public
         procedure MakeIDEWindowDockable(AControl: TWinControl); virtual; abstract; // make AControl dockable, it can be docked and other dockable windows can be docked to it, this does not make it visible
    -    procedure MakeIDEWindowDockSite(AForm: TCustomForm); virtual; abstract; // make AForm a dock site, AForm can not be docked, its Parent must be kept nil, this does not make it visible
    +    procedure MakeIDEWindowDockSite(AForm: TCustomForm; ASides: TDockSides = [alBottom]); virtual; abstract; // make AForm a dock site, AForm can not be docked, its Parent must be kept nil, this does not make it visible
         procedure ShowForm(AForm: TCustomForm; BringToFront: boolean); virtual; abstract; // make a form visible, set BringToFront=true if form should be shown on active screen and on front of other windows, normally this focus the form
         function AddableInWindowMenu(AForm: TCustomForm): boolean; virtual;
         procedure CloseAll; virtual; // close all forms, called after IDE has saved all and shuts down
    Index: examples/anchordocking/design/registeranchordocking.pas
    ===================================================================
    --- examples/anchordocking/design/registeranchordocking.pas	(Revision 28764)
    +++ examples/anchordocking/design/registeranchordocking.pas	(Arbeitskopie)
    @@ -77,7 +77,7 @@
       public
         constructor Create;
         destructor Destroy; override;
    -    procedure MakeIDEWindowDockSite(AForm: TCustomForm); override;
    +    procedure MakeIDEWindowDockSite(AForm: TCustomForm; ASides: TDockSides = [alBottom]); override;
         procedure MakeIDEWindowDockable(AControl: TWinControl); override;
         function AddableInWindowMenu(AForm: TCustomForm): boolean; override;
         function GetDefaultLayoutFilename: string;
    @@ -225,7 +225,8 @@
       inherited Destroy;
     end;
     
    -procedure TIDEAnchorDockMaster.MakeIDEWindowDockSite(AForm: TCustomForm);
    +procedure TIDEAnchorDockMaster.MakeIDEWindowDockSite(AForm: TCustomForm;
    +  ASides: TDockSides);
     var
       aManager: TAnchorDockManager;
     begin
    Index: examples/dockmanager/design/registereasydockmgr.pas
    ===================================================================
    --- examples/dockmanager/design/registereasydockmgr.pas	(Revision 28764)
    +++ examples/dockmanager/design/registereasydockmgr.pas	(Arbeitskopie)
    @@ -32,7 +32,7 @@
     
     {$mode objfpc}{$H+}
     
    -{.$DEFINE DockMaster}  //must match IDE setting
    +{$DEFINE DockMaster}  //must match IDE setting
     
     interface
     
    @@ -44,7 +44,6 @@
     const
       DefaultConfigFileName = 'easydocklayout.lyt';
     type
    -  TDockSides = set of TAlign;
     
       { TIDEEasyDockMaster }
     
    
    dsgn-docking.patch (2,904 bytes)

Activities

2010-12-18 23:17

 

dsgn-docking.patch (2,904 bytes)
Index: ideintf/idewindowintf.pas
===================================================================
--- ideintf/idewindowintf.pas	(Revision 28764)
+++ ideintf/idewindowintf.pas	(Arbeitskopie)
@@ -337,12 +337,14 @@
 
 type
 
+  TDockSides = set of TAlign;
+
   { TIDEDockMaster }
 
   TIDEDockMaster = class
   public
     procedure MakeIDEWindowDockable(AControl: TWinControl); virtual; abstract; // make AControl dockable, it can be docked and other dockable windows can be docked to it, this does not make it visible
-    procedure MakeIDEWindowDockSite(AForm: TCustomForm); virtual; abstract; // make AForm a dock site, AForm can not be docked, its Parent must be kept nil, this does not make it visible
+    procedure MakeIDEWindowDockSite(AForm: TCustomForm; ASides: TDockSides = [alBottom]); virtual; abstract; // make AForm a dock site, AForm can not be docked, its Parent must be kept nil, this does not make it visible
     procedure ShowForm(AForm: TCustomForm; BringToFront: boolean); virtual; abstract; // make a form visible, set BringToFront=true if form should be shown on active screen and on front of other windows, normally this focus the form
     function AddableInWindowMenu(AForm: TCustomForm): boolean; virtual;
     procedure CloseAll; virtual; // close all forms, called after IDE has saved all and shuts down
Index: examples/anchordocking/design/registeranchordocking.pas
===================================================================
--- examples/anchordocking/design/registeranchordocking.pas	(Revision 28764)
+++ examples/anchordocking/design/registeranchordocking.pas	(Arbeitskopie)
@@ -77,7 +77,7 @@
   public
     constructor Create;
     destructor Destroy; override;
-    procedure MakeIDEWindowDockSite(AForm: TCustomForm); override;
+    procedure MakeIDEWindowDockSite(AForm: TCustomForm; ASides: TDockSides = [alBottom]); override;
     procedure MakeIDEWindowDockable(AControl: TWinControl); override;
     function AddableInWindowMenu(AForm: TCustomForm): boolean; override;
     function GetDefaultLayoutFilename: string;
@@ -225,7 +225,8 @@
   inherited Destroy;
 end;
 
-procedure TIDEAnchorDockMaster.MakeIDEWindowDockSite(AForm: TCustomForm);
+procedure TIDEAnchorDockMaster.MakeIDEWindowDockSite(AForm: TCustomForm;
+  ASides: TDockSides);
 var
   aManager: TAnchorDockManager;
 begin
Index: examples/dockmanager/design/registereasydockmgr.pas
===================================================================
--- examples/dockmanager/design/registereasydockmgr.pas	(Revision 28764)
+++ examples/dockmanager/design/registereasydockmgr.pas	(Arbeitskopie)
@@ -32,7 +32,7 @@
 
 {$mode objfpc}{$H+}
 
-{.$DEFINE DockMaster}  //must match IDE setting
+{$DEFINE DockMaster}  //must match IDE setting
 
 interface
 
@@ -44,7 +44,6 @@
 const
   DefaultConfigFileName = 'easydocklayout.lyt';
 type
-  TDockSides = set of TAlign;
 
   { TIDEEasyDockMaster }
 
dsgn-docking.patch (2,904 bytes)

Issue History

Date Modified Username Field Change
2010-12-18 23:17 Sven Barth New Issue
2010-12-18 23:17 Sven Barth File Added: dsgn-docking.patch
2010-12-18 23:17 Sven Barth Widgetset => Win32/Win64
2010-12-19 13:06 Vincent Snijders LazTarget => 0.9.30
2010-12-19 13:06 Vincent Snijders Status new => acknowledged
2010-12-19 13:06 Vincent Snijders Target Version => 0.9.30
2010-12-20 10:03 Vincent Snijders Status acknowledged => assigned
2010-12-20 10:03 Vincent Snijders Assigned To => Vincent Snijders
2010-12-20 14:04 Vincent Snijders Fixed in Revision => 29792
2010-12-20 14:04 Vincent Snijders Status assigned => resolved
2010-12-20 14:04 Vincent Snijders Fixed in Version => 0.9.29 (SVN)
2010-12-20 14:04 Vincent Snijders Resolution open => fixed
2011-01-15 22:04 Sven Barth Status resolved => closed