Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 20 of 25 total
Thread Pie chart
Wed, Apr 17 2013 9:19 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< Hmm, I see that setting the image name sets the image to invisible
anyway. >>

Just to clarify: this only happens at the DOM level, not at the EWB control
level.  There's a difference between the image element and the control
itself.

<< Quite complicated all the things needed isn't it! Anyway, a way to
trigger a reload of the same file would be nice, so that the server can
update a single image and have it loaded again and again. >>

I'll see about adding a Refresh method.

Tim Young
Elevate Software
www.elevatesoft.com


Wed, Apr 17 2013 9:21 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Claudia,

<< There is no need to do a ping pong with the server to serve a jpg or png
chart, in svg format the chart can be created by EWB pascal code locally on
the fly, as demonstrated here:
http://62.108.41.186/ewbdemochart82649916562/ >>

Just an update: I fixed that issue with setting the DocumentText for IE
using innerHTML, and the next release will allow you to do it for all
browsers.  You just have to use the write method instead:

procedure TPage.SetDocumentText(const Value: String);
begin
  FURL:='';
  RecreateElements;
  THTMLDocument(FFrame.contentDocument).write(Value);
  FLoaded:=True;
  DoLoad;
end;

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Apr 17 2013 9:36 AMPermanent Link

Matthew Jones

> in svg format the chart can be created by EWB pascal code locally
> on the fly, as demonstrated here:
> http://62.108.41.186/ewbdemochart82649916562/

Hmm, so you are saying that is an EWB page with embedded svg built in the EWB code?
Most interesting. Any example code or pointers would be most welcome.

/Matthew Jones/
Wed, Apr 17 2013 9:36 AMPermanent Link

Matthew Jones

>  and the next release

How goes it?

Actually, it is good to be waiting as I get on with boring other stuff while
waiting patiently, but I look forward to it muchly. 8-)

/Matthew Jones/
Wed, Apr 17 2013 9:59 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< How goes it?  >>

It's getting there. Smile

Tim Young
Elevate Software
www.elevatesoft.com
Wed, Apr 17 2013 7:26 PMPermanent Link

Robert Devine

Hi Claudia

Tim (quite rightly) protects us from ourselves by concatenating the unit
name and the property name to ensure there are no conflicts. So a
property 'CompanyName' in Unit1 becomes unit1_fcompanyname (this is
different from the compression). If you then define a configuration
object, for example, and pass it to an external Javascript class it
fails to find the correct property names. So using external Javascript
needs a bit more of the "wild west" in EWB.

Cheers, Bob


On 17/04/2013 13:15, Claudia Borsel wrote:
> Bob Devine wrote:
>
>>   I'm hoping Tim will give an option to switch it off.
>
> "Compress Output" in Project Options - Compilation - Compress Output
> can be deactivated.
> Maybe that helps.
>
>
> There is no need to do a ping pong with the server to serve a jpg or png chart,
> in svg format the chart can be created by EWB pascal code locally on the fly, as demonstrated here:
> http://62.108.41.186/ewbdemochart82649916562/
>
> A mature chart library would be much more nice of course.
>
Thu, Apr 18 2013 3:39 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Bob,

<< Tim (quite rightly) protects us from ourselves by concatenating the unit
name and the property name to ensure there are no conflicts. >>

Just to clarify: I'm not making this decision, it's the way that Object
Pascal works and so I had to make sure that the compiler works that way in
order to avoid a conflict if two units define a class with the same name in
an application (but used by different units).  The alternative is to use JS
"namespaces", but that would still require prefacing the properties with
unit names, etc. only one would use a period instead of an underscore.  But,
you would still have to know the unit names, etc.

I could change this for classes so that class names must be unique
application-wide , but it would still be an issue for variables/constants
and I can't really force those to be unique application-wide.

Any ideas on this are welcome, of course.  The more JS-like the emitted
code, the better, of course.  It's just a matter of doing it while still
allowing for the OP language features.

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Apr 19 2013 4:46 AMPermanent Link

Matthew Jones

I don't think I understand the problem well enough, but it appears to be to do with
being able to refer to code or objects for passing to other javascript code yes?
How about a simple "alias" keyword, like the "external" of Delphi, where you can
specify an alias for either a property or procedure or whatever it needs to be, and
that alias is emitted any place the name is used. You could manage a simple list of
aliases to ensure no duplicates.

procedure MyFunction; alias "javascriptname";

property MyProperty : String read MyString alias "javascriptstring";

Just a suggestion, based on my ignorance. May it trigger greatness. 8-)

(Actually, it might be better to use that new attribute format where you do [alias
"javascriptname"] type stuff, because I think that gets ignored if you don't know
what it means, thus making the code more portable.)

/Matthew Jones/
Mon, Apr 22 2013 11:17 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Matthew,

<< I don't think I understand the problem well enough, but it appears to be
to do with being able to refer to code or objects for passing to other
javascript code yes? >>

Sort of: it has to do with external JS code referencing the variables,
objects, etc. in an EWB application.

<< How about a simple "alias" keyword, like the "external" of Delphi, where
you can specify an alias for either a property or procedure or whatever it
needs to be, and that alias is emitted any place the name is used. You could
manage a simple list of aliases to ensure no duplicates. >>

That solves the external JS issue, but still leaves the issue of causing
possible duplicate identifiers in the EWB application, especially among
multiple units.  The problem is that it's easy to tell the compiler to not
generate unit names, etc. for prefixes on identifiers, but that can cause
issues in the resultant JS code because JS requires namespace separation due
to its "one big global namespace" design.

Thanks,

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Apr 22 2013 12:13 PMPermanent Link

Matthew Jones

Can't the compiler have a large "whole project" alias list then? So if I use the
same Alias in two units, it gets an error.

/Matthew Jones/
« Previous PagePage 2 of 3Next Page »
Jump to Page:  1 2 3
Image