[ Abou Al Montacir ] * New upstream major release and multiple maintenace release offering many fixes and new features marking a new milestone for the Lazarus development and its stability level. - The detailed list of changes can be found here: http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes http://wiki.lazarus.freepascal.org/Lazarus_1.0_fixes_branch * LCL changes: - LCL is now a normal package. + Platform independent parts of the LCL are now in the package LCLBase + LCL is automatically recompiled when switching the target platform, unless pre-compiled binaries for this target are already installed. + No impact on existing projects. + Linker options needed by LCL are no more added to projects that do not use the LCL package. - Minor changes in LCL basic classes behaviour + TCustomForm.Create raises an exception if a form resource is not found. + TNotebook and TPage: a new implementation of these classes was added. + TDBNavigator: It is now possible to have focusable buttons by setting Options = [navFocusableButtons] and TabStop = True, useful for accessibility and for devices with neither mouse nor touch screen. + Names of TControlBorderSpacing.GetSideSpace and GetSpace were swapped and are now consistent. GetSideSpace = Around + GetSpace. + TForm.WindowState=wsFullscreen was added + TCanvas.TextFitInfo was added to calculate how many characters will fit into a specified Width. Useful for word-wrapping calculations. + TControl.GetColorResolvingParent and TControl.GetRGBColorResolvingParent were added, simplifying the work to obtain the final color of the control while resolving clDefault and the ParentColor. + LCLIntf.GetTextExtentExPoint now has a good default implementation which works in any platform not providing a specific implementation. However, Widgetset specific implementation is better, when available. + TTabControl was reorganized. Now it has the correct class hierarchy and inherits from TCustomTabControl as it should. - New unit in the LCL: + lazdialogs.pas: adds non-native versions of various native dialogs, for example TLazOpenDialog, TLazSaveDialog, TLazSelectDirectoryDialog. It is used by widgetsets which either do not have a native dialog, or do not wish to use it because it is limited. These dialogs can also be used by user applications directly. + lazdeviceapis.pas: offers an interface to more hardware devices such as the accelerometer, GPS, etc. See LazDeviceAPIs + lazcanvas.pas: provides a TFPImageCanvas descendent implementing drawing in a LCL-compatible way, but 100% in Pascal. + lazregions.pas. LazRegions is a wholly Pascal implementation of regions for canvas clipping, event clipping, finding in which control of a region tree one an event should reach, for drawing polygons, etc. + customdrawncontrols.pas, customdrawndrawers.pas, customdrawn_common.pas, customdrawn_android.pas and customdrawn_winxp.pas: are the Lazarus Custom Drawn Controls -controls which imitate the standard LCL ones, but with the difference that they are non-native and support skinning. - New APIs added to the LCL to improve support of accessibility software such as screen readers. * IDE changes: - Many improvments. - The detailed list of changes can be found here: http://wiki.lazarus.freepascal.org/New_IDE_features_since#v1.0_.282012-08-29.29 http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes#IDE_Changes * Debugger / Editor changes: - Added pascal sources and breakpoints to the disassembler - Added threads dialog. * Components changes: - TAChart: many fixes and new features - CodeTool: support Delphi style generics and new syntax extensions. - AggPas: removed to honor free licencing. (Closes: Bug#708695) [Bart Martens] * New debian/watch file fixing issues with upstream RC release. [Abou Al Montacir] * Avoid changing files in .pc hidden directory, these are used by quilt for internal purpose and could lead to surprises during build. [Paul Gevers] * Updated get-orig-source target and it compinion script orig-tar.sh so that they repack the source file, allowing bug 708695 to be fixed.
<short>Defines several specialist button classes</short>
6
6
<descr/>
579
579
</element>
580
580
<!-- constructor Visibility: public -->
581
581
<element name="TCustomBitBtn.Create">
582
<descr>If you drop a component on the form editor you don´t need to add code to explicitly create it. The component is automatically created together with the the form, and destroyed when the form is destroyed.
583
584
However, if you create the component by code don´t forget to free it when it is no longer needed.
585
586
Constructors allocate memory and system resources needed by the object. They also call the constructor of any sub-objects present in the class.
587
</descr>
582
<short>Calls inherited <var>Create</var> then initialises layout, style and spacing, creates the Button Glyph</short>
<var>Create</var> - constructor for <var>TCustomBitBtn</var>: calls inherited <var>Create</var> then initialises layout, style and spacing, creates the Button Glyph</short>
595
588
</element>
596
589
<!-- argument Visibility: default -->
597
590
<element name="TCustomBitBtn.Create.TheOwner">
599
592
</element>
600
593
<!-- destructor Visibility: public -->
601
594
<element name="TCustomBitBtn.Destroy">
602
<descr>If you call Destroy for an object which hasn´t being initialized yet it will generate an error. Always use the Free method to deallocate objects, because it verifies if object variable doesn´t contain the value nil.
603
604
Take the following precautions when creating your own Destroy method:
605
606
* Declare Destroy with the override directive, because it is a virtual method.
607
608
* Always call 'inherited Destroy;' as the last thing on the destructor code.
609
610
* An exception may be raised on the constructor in case there is not enought memory to create an object, or something else goes wrong. If the exception is not handled inside the constructor, the object will be only partially built. In this case Destroy will be called, so your destructor must check if the resources were really allocated before disposing of them.
611
612
* Remember to call Free for all objects created on the constructor.
613
</descr>
595
<short>frees Button Glyph then calls inherited <var>Destroy</var>
<descr>// standard properties, which should be supported by all descendants<br/>
875
Reads flag or writes one to determine if a hint is to be shown when mouse hovers over this control. If value is stored, a storage flag is set. Display of the actual hint is controlled by OnShowHint
861
Reads flag or writes one to determine if a hint is to be shown when mouse hovers over this control.
862
If value is stored, a storage flag is set. Display of the actual hint is controlled by OnShowHint
876
863
</descr>
877
864
<seealso/>
878
865
</element>
1489
1476
</element>
1490
1477
<!-- property Visibility: public -->
1491
1478
<element name="TCustomSpeedButton.Margin">
1492
<short>Margin - the space around glyphs</short>
1493
<descr/>
1479
<short>Margin - the space around glyph and caption</short>
1480
<descr>A value of -1 centers the content. If Spacing is -1 too then there is the same space on the left, between the glyph and caption, and on the right.</descr>
1494
1481
<seealso/>
1495
1482
</element>
1496
1483
<!-- property Visibility: public -->
1501
1488
</element>
1502
1489
<!-- property Visibility: public -->
1503
1490
<element name="TCustomSpeedButton.Spacing">
1504
<short>Spacing around button</short>
1505
<descr/>
1491
<short>Spacing between Glyph and Caption</short>
1492
<descr>If Spacing is -1 and Margin is -1 then Glyph and Caption are centered and there is the same amount of space between Glyph and Caption and on the left and right.
1493
If Spacing is -1 and Margin is not -1 then Spacing will fill the remaining space.</descr>