View Issue Details

IDProjectCategoryView StatusLast Update
0001798SkyChart1-Softwarepublic17-10-06 10:32
ReporterSasa Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformLinux 64-bitOSLubuntuOS Version17.04
Product Version4.1 SVN 
Summary0001798: ToolBar - incorrect behavior in some cases
DescriptionSometimes, some used components are not lined up correctly on ToolBar.
Steps To Reproduce1. Set screen resolution to 1024 x768
2. Open CDC (default settings, with no .ini file)
3. Click on child view button
4. Maximize window

Combobox with "Time units" will be incorrectly aligned (attached screenshot).
TagsNo tags attached.

Activities

Sasa

17-10-03 10:55

reporter  

Patrick Chevalley

17-10-03 12:29

administrator   ~0004105

Fixed by revision 3665:
https://sourceforge.net/p/skychart/code/3665

Sasa

17-10-04 04:56

reporter   ~0004109

Last edited: 17-10-04 06:30

Patrick,

This still works the same... Definitely there is some severe problem with ToolBar commponent.
This however works as should be (Lazarus 1.6.4):

procedure Tf_main.FormResize(Sender: TObject);
begin
  SaveState := WindowState;

  //SZ ChildControl.Left := ToolBarMain.Width - ChildControl.Width;
  ChildControl.Left := TimeU.Left + TimeU.Width + 1;
....

procedure Tf_main.UpdateBtn(fx, fy: integer; tc: boolean; Sender: TObject);
var
  cname: string;
  i: integer;
begin
...

  //SZ
  FormResize(self);
end;

procedure Tf_main.ImageSetFocus(Sender: TObject);
begin
  if ActiveControl <> quicksearch then
  begin // do not steal focus when typing in the quicksearch
...
    //SZ
    FormResize(self);
  end;

end;


procedure Tf_main.SetButtonImage(bsize,msize:integer);
var
  btn: TPortableNetworkGraphic;
  Ilist,MenuIlist: Timagelist;
begin
  try
...
    btn.Free;

    FormResize(self);

  except
  end;
end;

Patrick Chevalley

17-10-05 13:47

administrator   ~0004112

Last edited: 17-10-05 14:01

Yes, but this is specific for the case the time unit is the first hidden control in the start condition. Depending on the initial window width this can be any button.

For me my fix work on Linux, but on Windows the button do not arrange until I move the mouse over the chart.

The origin of the problem is because I want to align the Cascade and Close button to the right of the toolbar. I have to put a splitter in the toolbar for that so this is highly non-standard.
Maybe the best way is to find another way to put this two button on the right, another panel or toolbar.

Sasa

17-10-06 09:33

reporter   ~0004113

On Lubuntu (xfce), with default settings and that specific resolution, all is the same...

These extra FormResize calls as well are mandatory (try maximize/restore), etc. The best way is much better ToolBar, however that is hardly to expect from Lazarus team in near future. Probably the best can be done is what you suggested - to move these two icons out of the main one to another and see is it autosize, anchors and alignment properties will work as should be in order to get desired behavior.

Patrick Chevalley

17-10-06 10:32

administrator   ~0004114

OK, I add one more Tpanel to avoid this trick to have both left and right alignment in the same toolbar.
For me this look good but it need more testing for other side effect.
https://sourceforge.net/p/skychart/code/3667/

Issue History

Date Modified Username Field Change
17-10-03 10:53 Sasa New Issue
17-10-03 10:55 Sasa File Added: Toolbar - incorrect component position.jpg
17-10-03 12:29 Patrick Chevalley Status new => resolved
17-10-03 12:29 Patrick Chevalley Resolution open => fixed
17-10-03 12:29 Patrick Chevalley Note Added: 0004105
17-10-04 04:56 Sasa Status resolved => new
17-10-04 04:56 Sasa Resolution fixed => reopened
17-10-04 04:56 Sasa Note Added: 0004109
17-10-04 06:30 Sasa Note Edited: 0004109
17-10-05 13:47 Patrick Chevalley Note Added: 0004112
17-10-05 14:01 Patrick Chevalley Note Edited: 0004112
17-10-06 09:33 Sasa Note Added: 0004113
17-10-06 10:32 Patrick Chevalley Status new => resolved
17-10-06 10:32 Patrick Chevalley Resolution reopened => fixed
17-10-06 10:32 Patrick Chevalley Note Added: 0004114