Difference between revisions of "Lazarus 0.9.26 release notes"

From Lazarus wiki
Jump to navigationJump to search
Line 25: Line 25:
  
  
* Graphics (Marc will write):
+
* Graphics:
   -  
+
  - added new basic class TRasterImage which is ancestor of TCustomBitmap and TCustomIcon. TCustomBitmap is an ancestor of All graphics which has one image. TCustomIcon is an ancestor of TIcon, TCursorImage and TIncsIcon (new class).
   -  
+
   - graphics which loaded from a file or resource represented internally in the origianl format (depth, component order, etc). And only when OS handles needs to be created it converts to supported desktop format (but this doesnot change internal representation).
   - TIcon now creates HICON handle and thus we can finally use it to set Form.Icon.
+
   - Masking has been totaly fixed. TCustomBitmap.Transparent, TCustomBitmap.TransparentColor, TCustomBitmap.TransparentMode are now delphi compatible and works.
   - new TIcnsIcon class allows to read Mac OSX icon resource files (analog of windows .ico files but for OSX)
+
   - TIcon can create HICON handle and thus we can finally use it to set Form.Icon and Application.Icon
 
+
   - New TIcnsIcon class allows to read Mac OSX icon resource files (like windows .ico files but for OSX)
 +
  - TImage has been fixed and now shows transparent backgound for transparent graphics (png with alpha, icon)
  
 
* Greatly improved Carbon widgetset. IDE is working and you can use the form designer.
 
* Greatly improved Carbon widgetset. IDE is working and you can use the form designer.

Revision as of 04:55, 11 September 2008

This page gathers the changes of 0.9.25 for the coming release of 0.9.26.

This page is work in progress. There is no 0.9.26 yet.

Statistics:

  1. commits: xxxx
  2. log: svn log -r 12751:xxxxx
  3. resolved bug tracker issues: xxx (according to mantis)


LCL Interfaces major changes

win32/win64

  • Lazarus 0.9.24: Encoding used for strings in the LCL is ansi
  • Lazarus 0.9.26: Encoding used for strings in the LCL is UTF8

LCL major changes

  • new properties TForm.LCLVersion and TFrame.LCLVersion

Every form and frame now saves this property adding version information to the lfm file. This version information can now be used by the IDE to automatically adapt the lfm before loading. This means: If a property is renamed, deleted or its type changed, rules can be added to convert the properties automatically. If an old IDE 0.9.24 opens a lfm of a 0.9.26+ you will get the TReader error, that the property LCLVersion does not exist. Press 'stop loading this resource' and the lfm repair wizard opens. Confirm to remove the unknown properties to load the new form. Or you can use Search / Find in Files' and remove in all .lfm files the LCLVersion: Set Text to find to LCLVersion .*, enable regular expression, where: search in files in project or in directories, set file mask to *.lfm, check replace and set replace text empty then click ok.


  • Graphics:
 - added new basic class TRasterImage which is ancestor of TCustomBitmap and TCustomIcon. TCustomBitmap is an ancestor of All graphics which has one image. TCustomIcon is an ancestor of TIcon, TCursorImage and TIncsIcon (new class).
 - graphics which loaded from a file or resource represented internally in the origianl format (depth, component order, etc). And only when OS handles needs to be created it converts to supported desktop format (but this doesnot change internal representation).
 - Masking has been totaly fixed. TCustomBitmap.Transparent, TCustomBitmap.TransparentColor, TCustomBitmap.TransparentMode are now delphi compatible and works.
 - TIcon can create HICON handle and thus we can finally use it to set Form.Icon and Application.Icon
 - New TIcnsIcon class allows to read Mac OSX icon resource files (like windows .ico files but for OSX)
 - TImage has been fixed and now shows transparent backgound for transparent graphics (png with alpha, icon)
  • Greatly improved Carbon widgetset. IDE is working and you can use the form designer.
  • Greatly improved Qt widgetset. IDE is working and you can use the form designer. Though under windows it works a bit unstable.

LCL minor changes

  • TComboBox.OnChange is no longer fired when user selects an item in the popup box. Reason: Delphi compatiblity. Solution: Connect OnSelect or OnEditingDone event.
  • Added TComboBox.OnGetItems. This event is fired when the combobox needs the items. The DropDown event can not be used reliable on all platforms to update the Items.

IDE changes

  • New icons
  • TPropertyEditorHook.GetMethodName now returns an ansistring, instead of a shortstring. AddHandlerGetMethods and RemoveHandlerMethodExists now need ansistring instead of shortstring.
  • Designed Forms can now reference each other. For example a form can reference the database component on a TDataModule. Formerly you could only do it in code. For more details see here.
  • IDE can now open text/source files in other encodings. It tries to guess the encoding and automatically converts them internally to UTF-8. You can change the encoding or via the new menu items of the source editor: popup menu / File Settings / Encoding.
  • Compiler Options Tests now checks for more common misconfigurations. If you got the infamous error 'unit not found', try this first.
  • Compiler Options: Obsolete flags -Sp -S2 -St -So were replaced by a combobox for the -M switch. Mode FPC and MacPas were added.

Components

  • TSynPasSyn.NestedComments is now set automatically by CompilerMode, for example CompilerMode:=pcmObjFPC. The highlighter now reads the $mode directive and switches the CompilerMode and NestedComments properties automatically. This way Delphi and FreePascal code is now automatically highlighted.

Miscellaneous

  • lazbuild: Can now build the IDE with the parameter --build-ide=. You can build the IDE with parameters: ./lazbuild --build-ide=-gh. The installed packages will be rebuilt if needed.