[lazarus] 0.8.4a

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Aug 19 18:26:21 EDT 2002


Hi all,

The Lazarus Version was increased to 0.8.4 alpha.


Here is a summary of the major changes from 0.8.3a to 0.8.4a:

The nightly builds now contain the binary of the IDE and the source files used
to make that IDE. To compile the lcl and components the only thing that is
required of the user is to initiate a 'Build of Lazarus' as the first order of
business. Now they will have units that match the latest source of the IDE and
built to work with the version of the compiler they have installed.


Lazarus source updates without CVS:

There is s snapshot of the source found in CVS as of 2002-06-14 00:00 GMT.
Please note that this is an export of the content in CVS and can not be used to
commit changes to CVS or do further updates from CVS. This data is to be used
strickly with the supplied diff files.
This snapshot file can be found in the download section of this site. It has
the 2002-06-14 date in it's name so it should be easy to figure out which is
the correct one.
Once you have that downloaded you can then download the current diff file.
Each night a diff file will be generated based on the difference between the
source on 2002-06-14 and the current source found in CVS. It will create a
standard patch (diff) file that can be applied to the 2002-06-14 source you
have downloaded. The diff data is placed into a zip file so that size of the
file you will need to download should remain small. This file can also be
found in the download section.
It is probably a good idea to only apply the patch to the original source from
2002-06-14 so you will need to untar this source each time you want to apply
the patch.


Updates since 0.8.3a:

- Fixed Client areas/rectangles with the gtk-interface. The 'Align' property
  is now usable. The client rectangles are not 100% Delphi compatible for the
  simple reason, that the gtk resizes in a totally different way than win32.
  There are two differences:
  1. TGroupBox client area does not include the frame as in Delphi. This is an
     incompatibility, but IMO it makes more sense.
  2. Client rectangles under gtk can resize without resizing the Bounds of the
     control. Both fires an OnResize event. This implicates, that it is not
     sufficient to just put all resizing code into the Form1Resize event.
     For example: If there is a control in a TGroupBox, which size/position
     depends on the ClientRect of the TGroupBox, then the OnResize event of
     the groupbox must be set.
- file backups now keeps file attributes/permissions
- built-in parser now understands Delphi6 syntax
- The lazarus resources now supports bigger data (mega- instead of kilobytes)
- TSpeedButtons are now drawn theme dependent.
- TPixmaps can now be transparent.
- TCommonDialog now supports Width, Height and OnCanClose.
- TOpen/SaveDialog now supports file information, history and simple filters.
- Escape key in TOpen/SaveDialog closes dialog.
- TFontDialog now supports OnApplyClicked and PreviewText and has a complete
  Font instead of just a fontname.
- TFont now supports X logical font descriptions. For example, you can set
  MyFont.Name:='-b&h-luxi mono-medium-r-normal-*-*-130-*-*-m-*-iso8859-1';
- Caret is now drawn inverted. That means, that you can now use dark editor
  backgrounds like the 'twilight' color scheme.
- added new editor option: Persistent Caret. If your window manager does not
  send enough focus messages, so that your caret is vanishing, you can use this
- The completion form now uses the same colors as the current editor and is
  borderless
- Fixed mouse coordinates and the mouse-click-on-parent bug.
  The mouse coordinates of OnMouseDown/Up/Move are now relative to the client
  area of the control.
- Started translation via resourcestrings. The IDE uses environment variables
  LANG, LC_ALL and LC_MESSAGES and checks if there is a translation for it.
  Language can be manually set in environment->General Options->Desktop.
- added faster xml units. This accelerates xml file access of the IDE. Lazarus
  saves all config files and all project information files (.lpi) in xml
  format. Hopefully, after the units were tested, they will eventually go into
  the fcl sources.
- Source Notebook page names are now updated more often.
- binary DFM files can now be autoconverted to LFM files (with the exception
  of TColor identifiers like 'clRed')
- TWinControl.Cursor
- TColor was moved to graphtype.pp
- New IDE functions for selections: Comment, Uncomment , Tabs to spaces,
  Uppercase, Lowercase
- The IDE now checks if files changed on disk. Files loaded in the background
  are reloaded automatically. Files in the editor popup a dialog to show the
  user the diffs and to choose what to do (revert all or ignore).
- Open File At Cursor now recognizes include directives
- CodeTools now check for filebreaks when inserting new code.
- improved Menu: e.g. changeable at any time, icons, checkboxes,
  disable/enable, rightjustify, and most important: streaming
- improved IDE menu: recent lists and custom tools are now updated instantly
- the arrow speedbutton in the IDE mainbar now popups a list of recent projects
  and files
- The lcl has now a graphicsmath.pp which contains geometric functions like
  Bezier lines and overloaded operators for TFloatPoint.
- New graphic functions like Pie, Polyline, Choord, PolyBezier
- the gtk interface now uses the gdk-pixbuf-lib
- Clipping: e.g. IntersectClipRect, ExcludeClipRect, & CreateRectRGN
- improved Text output functions like DrawText, ExtTextOut, TextRect

Also many bugfixes, accelerations and smaller changes like:
 - better include file support 
 - better find declaration

The form editing is under heavy development.


Mattias






More information about the Lazarus mailing list