Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 7 of 7 total
Thread Surface Interface question
Mon, Dec 5 2016 1:24 PMPermanent Link

Uli Becker

There are two elements in a surface's interface: "Root" and "Client".
I couldn't find any information which element to change when adding a
background image e.g. and had to find it out by try and error.
Can someone explain, what  "Root" and "Client" stand for?

And: what does the property "DisplayIndex" of the Client-element do?

Thanks Uli
Tue, Dec 6 2016 4:03 AMPermanent Link

Matthew Jones

Uli Becker wrote:

> Can someone explain, what  "Root" and "Client" stand for?

I think that the root is the object itself - the all encompassing part. The client is where anything put on the component will live. So you could have a component with a header, and a client. Then when you put a button on it and align to top left, it is to the client, not to the root.

Tim has said that this is changing in some way to make things more flexible in the next update.

> And: what does the property "DisplayIndex" of the Client-element do?

"Specifies the display index, or visual stacking index, of the element within its parent container element" according to the help.

--

Matthew Jones
Tue, Dec 6 2016 5:13 AMPermanent Link

Uli Becker

Matthew,

> I think that the root is the object itself - the all encompassing part. The client is where anything put on the component will live. So you could have a component with a header, and a client. Then when you put a button on it and align to top left, it is to the client, not to the root.

Thanks. The reason why I asked this: I changed a TSurface.wbi file so
that a background image's layout.position is lpTopCenter when it's
loadad at runtime.
This setting only works with the "Root" element, not with the "Client"
element.

Uli
Tue, Dec 6 2016 6:36 AMPermanent Link

Matthew Jones

Uli Becker wrote:

>  I changed a TSurface.wbi file

Not sure if it is relevant, but I have often found that the "applyproperties" property needs to be tweaked when I want to fiddle with some of these core things. So if I want to change the font, I need to set the ApplyFont item, for example.

--

Matthew Jones
Tue, Dec 6 2016 7:42 AMPermanent Link

Uli Becker

Matthew,

> Not sure if it is relevant, but I have often found that the "applyproperties" property needs to be tweaked when I want to fiddle with some of these core things. So if I want to change the font, I need to set the ApplyFont item, for example.

That's true, but in this case it doesn't make a difference.

Uli

Tue, Dec 6 2016 11:40 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Uli,

<< There are two elements in a surface's interface: "Root" and "Client". I couldn't find any information which element to change when adding a background image e.g. and had to find it out by try and error. Can someone explain, what  "Root" and "Client" stand for? >>

Every control has control-specific elements, so it's not really possible to document all of them due to the amount of time it would take.  However, I take great care to make sure that the naming is as consistent as possible among all controls, so "Client" always represents the same thing, "Base" always represents the same thing, etc.

The TSurface control is a little special because it's a) the root element, hence the "Root" name, and b) a wrapper around the already-created body HTML element.

The reason why a lot of controls, especially container controls, have a "Base" (or "Root") element *and* a "Client" element is that the control does, or may need to, display a border or other non-client elements like scrollbars.  In the case of the TSurface control, the requirement is the scrollbars.  EWB has its own scrollbar implementation, so it requires that it have a place to put the scrollbars without affecting the actual dimensions/layout of the actual client area where child controls are placed.

<< And: what does the property "DisplayIndex" of the Client-element do? >>

http://www.elevatesoft.com/manual?action=viewprop&id=ewb2&comp=TElement&prop=DisplayIndex

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Dec 6 2016 11:43 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< Tim has said that this is changing in some way to make things more flexible in the next update. >>

I suspect that you're referring to the "content classes" idea that I was talking about for displaying richer content in lists, etc. ?  If so, then a) that won't be in 2.06, and b) it won't affect this particular area of concern.  It's more for lists of the kind that you're creating where you want a list item to span multiple lines (possibly variable height) and different types of content.  The auto-sizing improvements in 2.06 are going to be the first step towards making this happen.

Tim Young
Elevate Software
www.elevatesoft.com
Image