[Lazarus] Alternative component palette layout

Giuliano Colla giuliano.colla at fastwebnet.it
Fri Dec 26 14:04:13 CET 2014


Il 26/12/2014 13:23, Giuliano Colla ha scritto:
>
> Il 22/12/2014 10:05, zeljko ha scritto:
>> On 12/22/2014 12:29 AM, Juha Manninen wrote:
>>> On Sun, Dec 21, 2014 at 5:27 PM, zeljko <zeljko at holobit.net> wrote:
>>>> What could be exact bug with Qt ? Any example project ?
>>>> What is exactly affected ?
>>>
>>> My main suspect now is line :
>>>    TabControl.Pages.Move(TabIndex, Pal.fVisiblePageIndex);
>>> in TComponentPage.InsertVisiblePage. It moves an exising tab to its
>>> new position.
>>> I noticed that the missing tabs are always the ones that existed
>>> before doing import. Thus they are not inserted but moved.
>>> New tabs are inserted :
>>>    TabControl.Pages.Insert(Pal.fVisiblePageIndex, PageName);
>>> but it apparently causes no problems.
>>
>
> I've added some more Debugln's and made some more tests.
> I've painfully rebuilt from scratch the Modern layout, for my current 
> palette setup.
> Import works just fine, but what fails is restoring the default layout.
> [...]
More tests. The move is performed in CreatePagesFromUserOrder():

TComponentPalette.Update, calling UpdateNoteBookButtons, fUpdatingPageControl=False, fNoteBookNeedsUpdate=False
TComponentPalette.CreatePagesFromUserOrder, move Standard from 8 to 0
TComponentPalette.CreatePagesFromUserOrder, move Additional from 9 to 1
TComponentPalette.CreatePagesFromUserOrder, move Common Controls from 10 to 2
TComponentPalette.CreatePagesFromUserOrder, move Dialogs from 11 to 3
TComponentPalette.CreatePagesFromUserOrder HideControls=False aVisibleCompCnt=14
TComponentPalette.CreatePagesFromUserOrder, move Data Controls from 12 to 4
TComponentPalette.CreatePagesFromUserOrder, move Data Access from 13 to 5
TComponentPalette.CreatePagesFromUserOrder, move System from 14 to 6
TComponentPalette.CreatePagesFromUserOrder, move Misc from 15 to 7
TComponentPalette.CreatePagesFromUserOrder, move LazControls from 16 to 8
TComponentPalette.CreatePagesFromUserOrder, move Cairo from 17 to 9
TComponentPalette.CreatePagesFromUserOrder, move Extra from 18 to 10
TComponentPalette.CreatePagesFromUserOrder, move MultiLog from 19 to 11
TComponentPalette.CreatePagesFromUserOrder, move Pascal Script from 20 to 12
TComponentPalette.CreatePagesFromUserOrder, move RTTI from 21 to 13
TComponentPalette.CreatePagesFromUserOrder, move SQLdb from 22 to 14
TComponentPalette.CreatePagesFromUserOrder, move SynEdit from 23 to 15
TComponentPalette.CreatePagesFromUserOrder, move Chart from 24 to 16
TComponentPalette.CreatePagesFromUserOrder, move IPro from 25 to 17
TComponentPalette.CreatePagesFromUserOrder, move fpWeb from 26 to 18
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=App non-visual, Index=26
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Other visual, Index=25
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Graphic, Index=24
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Bars, Index=23
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Containers, Index=22
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Multi-line Edits, Index=21
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Edits, Index=20
TComponentPalette.CreatePagesFromUserOrder: Deleting left-over page=Buttons, Index=19

Then InsertVisiblePage() works fine for the first three tabs, which are 
inserted, but it fails for the Page Dialogs, which should just be left 
untouched. It's instead mixed up with the first page which should get 
inserted at index 7.

Giuliano

-- 
Giuliano Colla

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





More information about the Lazarus mailing list