Having a canvas has nothing to do with the ability to show in hte component palette. The only requirement is that is a TComponent descendant which get registered.
Does it mean that any TComponent descendant will be shown in the palette without extra code writing (but its registering code, ideed)?
No, since the LCL doesn't paint controls. The display of widgets is in control of the widgetset.
What is that we see at LCL palette? I thought the contents is just the same regardless to the widgetset chosen.... Is'nt it correct? When I choose Carbon as a target widgetset, I don't see any changes in the palette... At the same time not all components really have their Carbon implementations. Therefore we can't see widgetset-related components in the palette, right?
Are you refering to the carbon code bofore or after SVN revision 10753 ?
Sorry, I didn't use SVN. I have the 03/13 snapshot. Isn't it what I need to have?
I'm loosing you here. Someting like TGraphicControl ?
I'd say TCustomControl in Delphi terms, because TGraphicControl is a bit different substance -- it has no its own messaging and painting engines. It is drawn by its windowed parent. I have in mind full-featured control, having window and capable to contain other controls.
Do you want to implement new controls, or existing carbon widgets ?
Most of basic controls are already done. But there are no really useful advanced controls. To start anything really interesting I need at least anything like:
-- a TreeView component;
-- a plugin panel component (e.g. capable to contain Flash plugin);
-- a HTML displaying component like we have for Win32 at
www.pbear.comBut for the start I need to learn how it all is working, therefore I need to train on a more simple components. And the most important are:
-- TCanvas
-- TBitmap
--TImage (capable display BMP, GIF, PNG and JPEG)
As I understand not all of such classes are installable components. E.g. TCanvas is an inner class. Nevertheless I'd like to know how to create such class and how to test/debug it. As I see the debugger is working only for GTK wdgetset, right?
Keep in mind that most controls arent drawn by the LCL nor by the widgetset specific implementations. It is done by the widgetset libs/OS
You're talking about native Carbon controls, like buttons, checkboxes, etc. But I had in mind some custom controls, completely created in code, though with use of standard drawing functions, mouse and keyboard event handling, etc.
Also, when adding custom controls, it means that the have to be implemented for gtk/win32/wince also
My goal is to implement them in Carbon. Can be some component first implemented in Carbon and then in other widgetsets?
Thanks.