* * *

Author Topic: ATTabs  (Read 12826 times)

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #45 on: September 23, 2017, 09:14:19 am »
now prop OptButtonLayout here.
it sets buttons on left, on right.
possible buttons:

<
>
v
+

possible layouts (separator ,):

,v
<>,v
<>,v+
<>v,
,<>v
,<>v+
<,>
<,>v
v<,>
...etc


change:
plus-tab paints not via font. but via Canvas.Line.

change:
can show plus-tab and plus-button. or one of them.
plus-button better. its not hidden if 100 tabs.


Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #46 on: September 23, 2017, 04:26:12 pm »
Added wiki file (see MD files in Github) for all properties:

https://github.com/Alexey-T/ATTabs/blob/master/wiki/options.md

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #47 on: October 06, 2017, 06:28:27 pm »
Added option of flat mode:
- OptShowFlat
- OptActiveMarkSize (for new mode)
- ColorActiveMark (for new mode)

Flat mode looks like in screenshot - of CudaText
« Last Edit: October 06, 2017, 06:31:15 pm by Alextp »

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #48 on: October 11, 2017, 02:26:50 pm »
Big update

Added prop OptPosition (enum: top/bottom/left/right)
Aded prop OptSpacer, OptSpacer2 (spacer2 is only for left/right position)

Text is painted horizontal anyway.
Screenshot of new demo with left kind

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #49 on: October 12, 2017, 02:49:12 pm »
Update

- sorry: I renamed 4 enums values [they were named not nice for me, e.g. long name tabPositionLeft renamed to atpLeft]
You will need to rename ids in app.

- added 4 props: OptColoredBandForLeft/ ForRight/ ForTop/ ForBottom

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #50 on: October 20, 2017, 12:36:44 pm »
Update

Added OptCaptionAlignment (enum: left/right/center).

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #51 on: October 20, 2017, 01:20:39 pm »
Update

Added OptIconPosition: enum.
It can show Imagelist icons: lefter than text, centered, above text.

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #52 on: October 25, 2017, 08:35:22 am »
Change

Removed 2 props for angled tabs: OptTabAngle and one more. reason for removing: - ugly source code pasted from inet to paint smooth pixel lines, - angled tabs paint slow if 10+ tabs shown and mouse moves over tabs, - they paint ugly on macOS retina.

Todo: make smooth tabs w/o painting pixels, but use png files.

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #53 on: October 28, 2017, 10:53:09 pm »
Returned angled tabs.
OptShowAngled.
but code was rewritten. now Pixels[] not used, it is faster.
changed logic of considering angled tabs in painting too. so if you set angled tabs, you must
- set OptSpaceBetweenTabs
- set OptSpaceInitial

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #54 on: November 05, 2017, 09:55:30 am »
Update

It is long long time awaited feature. I was surprised that I did it from nothing
in single evening. And did two features: OptVarWidth - show tabs of variable
width. And after it I did OptMultiline - show multi-line tabs in top/bottom
OptPosition (not in left/right OptPos).
It was possible only coz code was designed good.
It was place, which was possible to change- UpdateTabRects() func.
And then several micro places to change- to adapt to multiline.
Demo_lazarus shows multiline- checkbox toggles it for top tabs.


Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #55 on: November 07, 2017, 02:26:02 pm »
Update:
now can set special font color / font style (e.g. underline) for mouse-over (hot) tabs, active tab.

2017.11.07
+ add: custom-draw event called for spacer (rect below tabs) too
+ add: prop ColorFontActive
+ add: prop ColorFontHot
+ add: prop OptActiveFontStyle, OptActiveFontStyleUsed
+ add: prop OptHotFontStyle, OptHotFontStyleUsed
* changed: renamed prop to OptSpaceBetweenLines

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #56 on: November 09, 2017, 07:57:59 am »
Update

IDE designer can design all props of Tabs.Items: caption, modified, fontstyle, imageindex etc.
This is because Tabs is TCollection now, I didn't know such a trick.

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #57 on: November 20, 2017, 12:55:09 pm »
Update

Now multi-line tabs can auto-fill control's width, for all lines except last line. Prop added OptFillWidth.
W/o this prop, lines have variable width and not aligned.
And prop OptFillWidthLastToo: for last wrapped line of tabs.

Screenshot of demo with prop ON.
« Last Edit: November 20, 2017, 01:16:18 pm by Alextp »

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #58 on: November 21, 2017, 09:23:44 am »
Update

Multi-line tab captions are supportted- with LF (#10) char, any LF count, but you must set big OptTabHeight by yourself.

Alextp

  • Hero Member
  • *****
  • Posts: 502
    • UVviewsoft
Re: ATTabs
« Reply #59 on: November 25, 2017, 08:59:34 pm »
Update

- fix compiling on Delphi7..10
- support for WideString on Delphi7

Added ATGroups component to ATTabs repo. Readme - see on github.

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus