In the attachment I am posting an extended and corrected version of SpkToolbar (v0.2). These are the changes:
* Added TSpkCheckbox and TSpkRadiobutton (unit spkt_Checkboxes.pas). I was missing some checkable buttons in the old version.
* Applied ImageIndex when assigning an action
* Added a property editor for image index
- use specialized ImageIndexPropertyEditor to link to the imagelist
- assign default values to ImageIndex properties
- use types TImageIndex instead of integer
* Make sure that item properties (caption, imageindex etc) are updated when the action changes
* Fixed button state to change immediately after mouse-up from pressed to hover, the old version needed a mouse move to change button color
* Found bug in ComponentEditor form causing "Class not found" error: tabs, panes, and items were added without names. Assigning a name by FDesigner.UniqueName fixed the issue.
* Duplicate components after Cut & Paste because missing destruction of components after deletion from internal list
* Naming issue of components added by designer (counter starting at 2, not 1) fixed
* Changed default color of the SpkToolbar to clSkyBlue
* Added component icon to the package
* Changed {$mode delphi} to {$mode objfpc}
There are also two more demos: the first one shows how the toolbar can be used at runtime only (without installation), the second one demonstrates the usage of actions.
Note that there are still two bugs in design mode:
* Add a SpkToolbar, double-click and add tabs, panes and buttons. Compile and run. Lazaraus will complain about missing units that implement the added controls. Either add these units (spkt_Tab, spkt_Pane, spkt_Buttons, spkt_Checkboxes) manually to the uses clause. Simpler: just add any other component to the form, and delete it again, then the missing units are added automatically to the uses clause
* Delete the SpkToolbar (having tabs, panes, buttons) from the form. The toolbar disappears, but the added controls, however, are left in the form declaration. So far, I could not find how to delete these controls in design mode without crashing Lararus.
It would be nice if somebody with write permission could add these updated units to the CCR. Also, it would be find if someone who speaks polish would translate the polish comments.