Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2010-03

Transparent panel

10 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

SteveG

Just wondering if anything came of the 'transparent panel' discussion ? ie - does such a beast exist for gtk2 as yet (under Lazarus naturally)

Thanks - SteveG

Reply by email

Mattias Gaertner
to SteveG
Just wondering if anything came of the 'transparent panel' discussion ? ie - does such a beast exist for gtk2 as yet (under Lazarus naturally)

What transparency do you need?
Overlapping controls - a control below the panel should be visible OR
Seamless - when removing the frame the background should fit the background of its parent

AFAIK the first is not doable, the second just needs a proper background theme drawing function.

Mattias

Reply by email

JoshyFun
to Mattias Gaertner

Hello Lazarus-List,

Wednesday, March 3, 2010, 9:28:45 AM, you wrote:

MG> On Wed, 03 Mar 2010 18:14:04 +1000

MG> SteveG wrote
> Just wondering if anything came of the 'transparent panel' discussion ? > ie - does such a beast exist for gtk2 as yet (under Lazarus naturally)

MG> What transparency do you need?
MG> Overlapping controls - a control below the panel should be visible

It is possible to have a "panel" at design time and this panel to be hidden at runtime and "reparent" the controls inside ?

Something like extract controls from TPanel (at runtime) and insert them in the parent of the TPanel ? Thinking a bit more on this, this way we will lost the autoarrange facilities and maybe more things.

Best regards, JoshyFun

Reply by email

Mattias Gärtner
to JoshyFun

Zitat von JoshyFun :

Show quoted text 15 lines
Hello Lazarus-List, Wednesday, March 3, 2010, 9:28:45 AM, you wrote: MG> On Wed, 03 Mar 2010 18:14:04 +1000 MG> SteveG wrote: >> Just wondering if anything came of the 'transparent panel' discussion ? >> ie - does such a beast exist for gtk2 as yet (under Lazarus naturally) MG> What transparency do you need? MG> Overlapping controls - a control below the panel should be visible It is possible to have a "panel" at design time and this panel to be hidden at runtime and "reparent" the controls inside ?

You can reparent anytime, but some settings depend on the parent. For example Align, anchor to parent, ParentFont, ParentBIDI, ....

Something like extract controls from TPanel (at runtime) and insert them in the parent of the TPanel ? Thinking a bit more on this, this way we will lost the autoarrange facilities and maybe more things.

What exactly do you want to achieve?

Mattias

Reply by email

SteveG
to Mattias Gaertner: On Wed, 03 Mar 2010 18:14:04 +1000 What transparency do you need? Overlapping controls -…
Mattias Gaertner wrote 18 lines
On Wed, 03 Mar 2010 18:14:04 +1000 SteveG wrote: > Just wondering if anything came of the 'transparent panel' discussion ? > ie - does such a beast exist for gtk2 as yet (under Lazarus naturally) What transparency do you need? Overlapping controls - a control below the panel should be visible OR Seamless - when removing the frame the background should fit the background of its parent AFAIK the first is not doable, the second just needs a proper background theme drawing function. Mattias

My personal use (this instance anyway), would be to allow an external app below my Lazarus app (eg a browser) to be seen 'thru' the transparent panel. - The tricky part would be to then toggle the ext app to be on top / below my app (when called by myself with button press).

This would be my workaround to not having a 'TWebBrowser' :) Obviously a hack, but I really do need to incorporate a Java capable browser into my app, and this would suffice for now.

Any other suggestions appreciated as well

Thanks - SteveG

Reply by email

JoshyFun
to Mattias Gärtner: Zitat von JoshyFun : You can reparent anytime, but some settings depend on the parent. For

Hello Lazarus-List,

Wednesday, March 3, 2010, 4:27:26 PM, you wrote:

MG> You can reparent anytime, but some settings depend on the parent. For MG> example Align, anchor to parent, ParentFont, ParentBIDI, ....

> Something like extract controls from TPanel (at runtime) and insert > them in the parent of the TPanel ? Thinking a bit more on this, this > way we will lost the autoarrange facilities and maybe more things.

MG> What exactly do you want to achieve?

My intention is to have a "mouse click" transparent control to group controls given them the feeling that they are not put in a panel, and of course see the background. So something like an invisible TPanel where I can bound the controls to the invisible dimensions, font, etc. Something that do not accept clicks, nor focus and does not perform any kind of draw, a pure container.

Best regards, JoshyFun

Reply by email

Mattias Gaertner
to JoshyFun
Show quoted text 17 lines
Hello Lazarus-List, Wednesday, March 3, 2010, 4:27:26 PM, you wrote: MG> You can reparent anytime, but some settings depend on the parent. For MG> example Align, anchor to parent, ParentFont, ParentBIDI, .... >> Something like extract controls from TPanel (at runtime) and insert >> them in the parent of the TPanel ? Thinking a bit more on this, this >> way we will lost the autoarrange facilities and maybe more things. MG> What exactly do you want to achieve? My intention is to have a "mouse click" transparent control to group controls given them the feeling that they are not put in a panel, and of course see the background. So something like an invisible TPanel where I can bound the controls to the invisible dimensions, font, etc. Something that do not accept clicks, nor focus and does not perform any kind of draw, a pure container.

Many IDE dialogs use panels that you can not see.
They don't need to be transparent for that, just use no borders.

Mattias

Reply by email

JoshyFun
to Mattias Gaertner

Hello Lazarus-List,

you wrote 6 lines
> My intention is to have a "mouse click" transparent control to group > controls given them the feeling that they are not put in a panel, and > of course see the background. So something like an invisible TPanel > where I can bound the controls to the invisible dimensions, font, etc. > Something that do not accept clicks, nor focus and does not perform > any kind of draw, a pure container.

MG> Many IDE dialogs use panels that you can not see. MG> They don't need to be transparent for that, just use no borders.

To reach the functionality I want they must be transparent in all the meanings, visual and event, so if I have two labels in this "transparent frame" and I click in between both the click event will be raised in the "transparent frame" parent not in the "transparent frame". It is more a logical container than a visual container.

Best regards, JoshyFun

Reply by email

Maxim Ganetsky
to SteveG: My personal use (this instance anyway), would be to allow an external app below my…

03.03.2010 19:08, SteveG ?????:

Show quoted text 8 lines
My personal use (this instance anyway), would be to allow an external app below my Lazarus app (eg a browser) to be seen 'thru' the transparent panel. - The tricky part would be to then toggle the ext app to be on top / below my app (when called by myself with button press). This would be my workaround to not having a 'TWebBrowser' :) Obviously a hack, but I really do need to incorporate a Java capable browser into my app, and this would suffice for now.

There is Gecko SDK port for Lazarus. Look at
http://wiki.lazarus.freepascal.org/GeckoPort

Best regards, Maxim Ganetsky mailto:

Reply by email

SteveG
to Maxim Ganetsky
Maxim Ganetsky wrote 13 lines
03.03.2010 19:08, SteveG ?????: > My personal use (this instance anyway), would be to allow an external > app below my Lazarus app (eg a browser) to be seen 'thru' the > transparent panel. - The tricky part would be to then toggle the ext app > to be on top / below my app (when called by myself with button press). > > This would be my workaround to not having a 'TWebBrowser' :) > Obviously a hack, but I really do need to incorporate a Java capable > browser into my app, and this would suffice for now. There is Gecko SDK port for Lazarus. Look at http://wiki.lazarus.freepascal.org/GeckoPort

Looking at that now - Thank you

The wiki page shows the GTK2 widgetset status to be 'iffy' (technical term) -

has anybody successfully used this interface as yet ? (on GTK2)

Reply by email