[Lazarus] Alternative component palette layout

Giuliano Colla giuliano.colla at fastwebnet.it
Sat Dec 20 20:17:37 CET 2014


Il 20/12/2014 14:36, Juha Manninen ha scritto:
> On Saturday, December 20, 2014, Giuliano Colla 
> <giuliano.colla at fastwebnet.it <mailto:giuliano.colla at fastwebnet.it>> 
> wrote:
>
>     I did. Apparently no problems with the basic default components,
>     but a number of weird things with the other tabs, such as one tab
>     showing the components of next tab, and some components/tabs which
>     have disappeared. Even "Restore default values" doesn't manage to
>     restore properly: some components shown in the wrong tab, and/or
>     with wrong Icon. Need to restart Lazarus to really restore.
>     I understand that this is too vague to help you fixing what
>     requires fixing.
>     I'll make some more test trying to isolate the problems, to
>     provide you more information, but it takes time.
>
>
> You did not mention your widgetset or platform.
> The problems depend on PageControl behavior on different platforms. I 
> debugged a lot and the configuration code itself is doing the right 
> thing now. For me the whole feature works well with 3 widgetsets, 
> GTK2, QT on Linux and then Windows. I am surprised that you still get 
> so severe errors. QT had redraw problem, one tab disappeared etc., but 
> I got it fixed.
> But yes, the PageControl update part of component palette is very nasty.
>
> Can you verify that the configuration works correctly after restarting 
> the IDE?
> It would mean there are only redraw problems.
>

I spent some time testing, and here's my result.
It would appear to be a Qt-only problem, but it seems to be a bit more 
intricate than just a redraw problem.

Full scenario:

The platform is Linux x86.

Test with:
1) A "vanilla" trunk Lazarus with just Bigide components, nothing else 
added.
2) A trunk Lazarus with extra components on the palette: a Cairo tab 
(lui_cairo package), an "Extra" tab for some components of mine, a 
"multilog"  tab (TLogTreeView) and an "fpWeb" tab.

Qt Widgetset (the one I'm using normally)

With both test cases the result is the same:
Importing the "Modern" palette layout, the first tabs are ok up to 
LazControls.
Then the mess starts.
The layout from the Options->Component palette" tells that next tab 
should be "Dialogs", while the Tab says "App Non-Visual", the palette 
shows the Dialogs Icons, but the hints are for the non-visual components 
(TActionList etc.). Next tab is labeled System, it shows the Icons for 
non-visual, but the items are inactive (no hint, no way to select them).
It goes like that up to the end. Restarting Lazarus, everything goes 
back in place.

Then if you restore the Default, it becomes again messy. The 
"Components" dialog still shows the "Modern" layout; after the Misc tab, 
next Tab is Pascal Script in test 1, Cairo in test 2, but it shows in 
both cases LazControls, the LazControls tab is moved farther, but it 
shows the RTTI components, etc. Again you need to restart Lazarus to put 
things back in place.

BTW, testing a number of times, when you change the palette layout, the 
"Components" dialog (the one activated with "View All") sometimes shows 
the new tab names but most of the times the previous ones.

GTK2 widgetset.

It behaves as expected, with the only note that "View All" when 
importing the new layout is properly updated, but when you restore the 
default still keeps the previous palette layout.

I noticed that the Export function tells to have successfully exported, 
but actually it does nothing. I presume that this is because it's work 
in progress.

I hope that it helps,

Giuliano

-- 
Giuliano Colla

Project planning question: when it's 90% done, are we halfway or not yet?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20141220/0af95d6e/attachment-0003.html>


More information about the Lazarus mailing list