[Patch] FreeSparta improvements
Original Reporter info from Mantis: hnb
-
Reporter name: Maciej Izak
Original Reporter info from Mantis: hnb
- Reporter name: Maciej Izak
Description:
Hello,
FreeSparta is now really free.
I have hope that Lazarus team can merge some changes to main trunk of Lazarus (maybe with some changes/better naming for classes and methods) :)
What is FreeSparta:
https://www.youtube.com/watch?v=6FOjWCLDScQ
www.freesparta.com
Repo and more info:
https://github.com/dathox/freesparta
What was improved
components\customdrawn\source\customdrawnextras.pas
PersistentDeleted event
components\pl_GlassDocking* (modification of AnchorDocking library)
Delphi like active docked form header
New X icon ;)
Fix for message window (http://bugs.freepascal.org/view.php?id=18538)
Fix for closing wrong tab (for clones of module)
components\ideintf\laz_images.res
New icons :)
components\ideintf\componenteditors.pas
New class TIDEComponentsMaster. Utils for hiding non visual components.
components\ideintf\componentreg.pas
Extended „Component Added Event” for new components palette in Sparta
„Multi Select” option for components palette (for new components palette in Sparta and for existing Delphi like components palette)
components\ideintf\formeditingintf.pas
Designer Base Class system (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
Utils functions IsFormDesign and LookupRoot
components\ideintf\idewindowintf.pas
Changes for „IDETabMaster” system (Code/Designer pages for modules)
components\ideintf\lazideintf.pas
Changes for „IDETabMaster” system (Code/Designer pages for modules)
Infrastructure for other (user defined) tab assigned to module (like History Tab from Delphi)
components\ideintf\objectinspector.pp
Fix for copy/paste problem for integrated IDE with GlassDocking/AnchorDocking package
components\ideintf\propedits.pp
New event „Persistent Deleted”. Useful for statistics for designed form (for example count of object, or for refresing state of sparta design time utils)
components\ideintf\srceditorintf.pas
New events called after a Window is shown/hidden (semWindowShow/semWindowHide)
components\ideintf\unitresources.pas
Designer Base Class system (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
designer\controlselection.pp
Designer Base Class system (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
Show/Hide non visual components (by DEComponentsMaster)
designer\customnonformdesigner.pas
Many changes for „Designer Base Class system” (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
designer\designer.pp
Extended „Component Added Event” for new components palette in Sparta
Show/Hide non visual components (by DEComponentsMaster)
Changes for „Designer Base Class system” (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
New event „Persistent Deleted”. Useful for statistics for designed form (for example count of object, or for refresing state of sparta design time utils)
Fix for painting points (for Design tab of Module)
designer\framedesigner.pas
Many changes for „Designer Base Class system” (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
designer\noncontroldesigner.pas
Many changes for „Designer Base Class system” (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
ide\codeexplorer.pas
Fix for switching Code/Designer (use KeyDown insted of KeyUp)
ide\componentlist.pas
Extended „Component Added Event” for new components palette in Sparta
„Multi Select” option for components palette (for new components palette in Sparta and for existing Delphi like components palette)
ide\componentpalette.pas
Extended „Component Added Event” for new components palette in Sparta
„Multi Select” option for components palette (for new components palette in Sparta and for existing Delphi like components palette)
ide\customformeditor.pp
Changes for „Designer Base Class system” (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
ide\main.pp
Fix for copy/paste problem for integrated IDE with GlassDocking/AnchorDocking package
Show/Hide components palette button for integrated IDE with GlassDocking/AnchorDocking package
CodeTyphon buttons layout
Extended „Component Added Event” for new components palette in Sparta
Fix for switching Code/Designer
Changes for „IDETabMaster” system (Code/Designer pages for modules)
JumpToCompilerMessage event
ide\mainbar.pas
Changes for Show/Hide components palette button
ide\mainbase.pas
Changes for „IDETabMaster” system (Code/Designer pages for modules)
ide\sourceeditor.pp
New notifications semWindowShow and semWindowHide
Bug fix for current ActiveEditor in docked IDE
Modification for plugable PageControl (fix for problem with finding SourceEditor), changes for „IDETabMaster” system (Code/Designer pages for modules)
ide\sourcefilemanager.pas
Changes for „Designer Base Class system” (now any "Designer Base Class" like TForm, TFrame, TDataModule can be replaced by plugin)
Changes for „IDETabMaster” system (Code/Designer pages for modules)
lcl\include\wincontrol.inc
Bug fix for method TWinControl.AlignControls (conditional expression "if NeedAlignWork then" is commented). Sometimes when we add only one control, and we will use scroolbars properties in ObjectInspector on the form, then the control is scrolled in wrong way (vertically instead of horizontal).
lcl\include\win32\win32callback.inc
Bug fix for OverlayWindowProc function (window used by GetDesignerDC is moved when scroolbars are modified at designtime)
lcl\controls.pp
TDockManager. GetChildSite new method (used to hide/show in docked version of IDE some parts by resizing window, for example to show/hide components palette by using dedicated button)
Best Regards,
Maciej Izak
Mantis conversion info:
- Mantis ID: 27710
- Build: 48023
- Version: 1.5 (SVN)