Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread questions from newbie
Fri, Feb 12 2016 7:49 AMPermanent Link

erickengelke

Avatar

I've written most of the GUI for an app in one day, I'm very impressed
with EWB.  I do have some questions/comments.

1. In Delphi you can call application.processmessages to process the
messages.  EWB waits to do updates in a batch mode, is there a way to
force it to process updates?  This would be handy for an "Updating screen
icon or form to be displayed".

2. If you create a x := TLabel.Create(..), then later call x.free, the
Label leaves its impression behind.  x.Caption := '' works and cleans up,
but you have to process messages (see problem 1 above) before you can call
x.free or it leaves an impression.  I think deleting should invalidate the
rect or whatever magic you do.

3. I appreciate the Run / F9 key, but there should also be a "Run in
browser" option, so one can test resizing windows and running full screen,
etc.

4. Under Help, there should be a link to this forum.

5. I have a question about responsive design.  Namely, I don't get how you
can have one, say, basicpanel be told to be tiled horizontally normally,
but vertically if there isn't any room on the device for another
horizontal panel.  What do you set to do that?
Fri, Feb 12 2016 10:14 AMPermanent Link

Uli Becker

> 5. I have a question about responsive design.  Namely, I don't get how you
> can have one, say, basicpanel be told to be tiled horizontally normally,
> but vertically if there isn't any room on the device for another
> horizontal panel.  What do you set to do that?

Have a look at the examples. "Responsive" should show you how to do that.

Uli
Fri, Feb 12 2016 11:58 AMPermanent Link

Matthew Jones

erickengelke wrote:

> 1. In Delphi you can call application.processmessages to process the
> messages.  EWB waits to do updates in a batch mode, is there a way to
> force it to process updates?  This would be handy for an "Updating
> screen icon or form to be displayed".

Updating the screen is costly, so it happens when there is a pause.
What are you doing that there is a need for this? (FWIW, the better way
in Delphi is to call .Update on the item or parent, so it only does the
redraw)


> 2. If you create a x := TLabel.Create(..), then later call x.free,
> the Label leaves its impression behind.  x.Caption := '' works and
> cleans up, but you have to process messages (see problem 1 above)
> before you can call x.free or it leaves an impression.  I think
> deleting should invalidate the rect or whatever magic you do.

I think the better answer to this is why are you wanting to do this at
all? There will be a better way than creating and deleting a label
never to be visible.


> 3. I appreciate the Run / F9 key, but there should also be a "Run in
> browser" option, so one can test resizing windows and running full
> screen, etc.

It would be nice, but also hard to do. Ctrl-F9 to rebuild, and then F5
to refresh your browser is as good as it is likely to get. I guess
someone could write a plug-in to refresh automatically somehow...


> 5. I have a question about responsive design.  Namely, I don't get
> how you can have one, say, basicpanel be told to be tiled
> horizontally normally, but vertically if there isn't any room on the
> device for another horizontal panel.  What do you set to do that?

Raul has pointed you in the right direction. It is worth taking time to
master the layout system as it gives you a lot of power. I no longer
manually position components, but rather add them to the layout and set
their margins and the like. The end result is the same visual control,
but responsive layout.


--

Matthew Jones
Fri, Feb 12 2016 1:48 PMPermanent Link

erickengelke

Avatar

"Matthew Jones" wrote:

erickengelke wrote:

> Updating the screen is costly, so it happens when there is a pause.
>What are you doing that there is a need for this? (FWIW, the better way
i>n Delphi is to call .Update on the item or parent, so it only does the
>redraw)

That's what I was looking for.  Thanks.

> 2. If you create a x := TLabel.Create(..), then later call x.free,
> the Label leaves its impression behind.  x.Caption := '' works and
> cleans up, but you have to process messages (see problem 1 above)
> before you can call x.free or it leaves an impression.  I think
> deleting should invalidate the rect or whatever magic you do.

:I think the better answer to this is why are you wanting to do this at
:all? There will be a better way than creating and deleting a label
:never to be visible.

Oh it is visible, but then the data gets refreshed and I have new results a few seconds later after some network traffic.  I will try refresh of the underlying Panel..

Thanks for your answers, both respondents, they are very helpful.

Erick
Fri, Feb 12 2016 2:51 PMPermanent Link

Matthew Jones

<erickengelke> wrote:
> "Matthew Jones" wrote:
>
> erickengelke wrote:
>
>> Updating the screen is costly, so it happens when there is a pause.
>> What are you doing that there is a need for this? (FWIW, the better way
>> n Delphi is to call .Update on the item or parent, so it only does the
>> redraw)
>
> That's what I was looking for.  Thanks.
>
>> 2. If you create a x := TLabel.Create(..), then later call x.free,
>> the Label leaves its impression behind.  x.Caption := '' works and
>> cleans up, but you have to process messages (see problem 1 above)
>> before you can call x.free or it leaves an impression.  I think
>> deleting should invalidate the rect or whatever magic you do.
>
> :I think the better answer to this is why are you wanting to do this at
> :all? There will be a better way than creating and deleting a label
> :never to be visible.
>
> Oh it is visible, but then the data gets refreshed and I have new results
> a few seconds later after some network traffic.  I will try refresh of
> the underlying Panel..
>

Just change the label content? I think it would help for you to show some
code, perhaps based on a timer for demo purposes. Then we can suggest
better ways.

--
Matthew Jones
Mon, Feb 15 2016 12:58 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Erick,

<< 1. In Delphi you can call application.processmessages to process the messages.  EWB waits to do updates in a batch mode, is there a way to force it to process updates?  This would be handy for an "Updating screen icon or form to be displayed". >>

Just to clarify:  this behavior isn't EWB, it's the browser.  So, there's only so much control that we have over when redraws occur.

<< 2. If you create a x := TLabel.Create(..), then later call x.free, the Label leaves its impression behind.  x.Caption := '' works and cleans up, but you have to process messages (see problem 1 above) before you can call
x.free or it leaves an impression.  I think deleting should invalidate the rect or whatever magic you do. >>

I'm not quite sure what you're describing here.  Could you post an example of what you're describing ?  As long as you free a label, EWB will clean up any UI elements that it has allocated for the label and they will be removed from the application (and in the browser UI).

Tim Young
Elevate Software
www.elevatesoft.com
Image