<div dir="ltr"><div class="gmail_extra">Michael,</div><div class="gmail_extra"><br></div><div class="gmail_extra">I agree with you somewhat that my proposal isn't a total solution, but perhaps there is another point of view to consider that has been overlooked. </div><div class="gmail_extra"><br></div><div class="gmail_extra">And that is this:</div><div class="gmail_extra"><br></div><div class="gmail_extra">There ought to be a way to edit component properties sweepingly either in an application or in the IDE.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I say this because I have often edited the Lazarus source to make remove toolbar button captions, change edge borders, fix the position of edit boxes, increase the height of a panel, turn on tool tips. or remove an unneeded panel. All for the effort of adjusting layouts to make the IDE space more efficient, fix what I see as a design problem, or create a layout better suited to a personal taste.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Allowing anyone to easily make sweeping changes like these to the IDE, and making those changes easily shareable and modifiable without the need to search for the correct lfm, or pas file to edit and recompile the IDE would be a good thing. That is, imagine being able to group alter properties of controls/components within the IDE (or any application written with fpc/laszarus), and see those changes instantly, and easily reverted, without the need to search for files and rebuild.</div><div class="gmail_extra"><br></div><div class="gmail_extra">As such I think that there is merit to such a tool. It might not need to be branded as a "themer" or "skinner". Perhaps as a "property pattern editor" or something thereof.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Regarding a long term solution, I agree that would be best. What I would see as the optimal way to handle this would be to use entirely owner drawn controls based which depend on external resource files, to determine styles such as color, sizes, padding, font, alignment, glyphs, and visibility among a few potential possibilities. Actual control drawing would be handled through an abstraction layer to a platforms best possible graphics API to efficiently handle antialiasing, smoothing, subpixel, and hdpi rendering in a manner that makes it complete transparent to controls. This would allow one code base for all controls for all platforms, solving not only layout problems among different widget sets, but also behavioral problems that creep into usage due to difference or restrictions of the underlying native widgets.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Of course, such a design should be completely optional to allow people to continue using native controls whenever they want, but if they're interested in a totally themeable and consistent usage applications across all platforms, then using this alternate widget set would be a pleasant second option.</div><div class="gmail_extra"><br></div></div>