<p style="padding:0 0 0 0; margin:0 0 0 0;">Hi,</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">CalcPreferredSize is called only when Autosize is True, it's not this case.</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">Furthermore, I found this code in Componenteditors.pas in</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">procedure TToolBarComponentEditor.ExecuteVerb(Index: Integer);</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">around line 1255:</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">if NewStyle = tbsDivider then<br />
  NewToolButton.Width := 3; </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">IMO if default with of divider was 5 before that patch then there is something wrong elsewhere.</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">About changing orientation from horizontal to vertical:</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">I will look at it, frankly, I never used vert. toolbars so I didn't test it.</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">Thanks for pointing it,</p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"> </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">Vojtěch </p>

<p style="padding:0 0 0 0; margin:0 0 0 0;">______________________________________________________________<br />
> Od: Giuliano Colla <giuliano.colla@fastwebnet.it><br />
> Komu: Lazarus mailing list <lazarus@lists.lazarus.freepascal.org><br />
> Datum: 09.11.2014 17:41<br />
> Předmět: Re: [Lazarus] Toolbar divider issues<br />
></p>

<p style="padding:0 0 0 0; margin:0 0 0 0;"><br />
Il 09/11/2014 15:04, Vojtěch Čihák ha scritto:<br />
><br />
> Hi,<br />
><br />
> with this code:<br />
><br />
> procedure TToolButton.SetStyle(Value: TToolButtonStyle);<br />
> begin<br />
>   if FStyle = Value then exit;<br />
>   FStyle := Value;<br />
>   if Value = tbsSeparator then Width := 10;<br />
>   if Value = tbsDivider then Width := 5;<br />
>   InvalidatePreferredSize;<br />
>   if IsControlVisible then<br />
>   UpdateVisibleToolbar;<br />
> end;<br />
><br />
> It now does deault 10px separators - both design-time and code<br />
><br />
> and 5px dividers from code but still 3px dividers at design-time.<br />
><br />
> EditorToolBar looks better now. I'll find solution and I'll send a <br />
> patch to bugtracker.<br />
><br />
<br />
If you look into the matter, please do not forget that a toolbar can be <br />
either horizontal or vertical.<br />
<br />
 From TToolbutton.CalculatePreferredSize:<br />
<br />
...<br />
     if Style = tbsDivider then<br />
       if FToolBar.IsVertical then<br />
         PreferredHeight := 5<br />
       else<br />
         PreferredWidth := 5<br />
     else<br />
     if Style = tbsSeparator then<br />
       if FToolBar.IsVertical then<br />
         PreferredHeight := 10<br />
       else<br />
         PreferredWidth := 10;<br />
   end;<br />
<br />
In an ideal world, if the user doesn't set a different width or height, <br />
the preferred values should go into effect, in any configuration, for <br />
any visual component.<br />
But in a toolbar there's another constraint: if it's horizontal all <br />
buttons must share the same height, it it's vertical all buttons must <br />
share the same width, overriding some of the user settings.<br />
That's what makes it a little bit tricky.<br />
<br />
Giuliano<br />
<br />
-- <br />
Giuliano Colla<br />
<br />
Project planning question: when it's 90% done, are we halfway or not yet?<br />
<br />
<br />
--<br />
_______________________________________________<br />
Lazarus mailing list<br />
Lazarus@lists.lazarus.freepascal.org<br />
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus">http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus</a></p>