Re: [E-devel] Different text areas

2005-07-19 Thread Hisham Mardam Bey
On 7/19/05, Brian Sakal [EMAIL PROTECTED] wrote:
 Hi all. I'm just curious... Why is there an EWL textblock, an
 evas_object_textblock, and an ESmart_Textarea? What's the difference
 between them? Also, what is (are) the difference(s) between an ESmart
 object and an EWL widget? It seems objects made from both (i.e. custom
 ESmart object  custom EWL widget) libraries can end up the same (from
 the user's point-of-view) in the end.

The Esmart object is is a wrapper around Evas's textblock object and
allows for things like input, selection, copy / paste (not in there
yet) using purely evas. All the formatting is currently done in
textblock and there's no real way to save the formatting info yet.
What needs to be done for this one is basically implement mouse
selection and clipboard interaction for copy / paste operations. It
also needs a way to save the text and restore it to its formatted
state. An example is provided in apps/enscribe and
apps/e_modules/src/lib/notes.

The EWL one is an EWL widget which does more of the same, except it
was heavily modified by Dan to do all the formatting of the text by
itself then dump its final result into an Evas textblock object. This
should allow easier importing / exporting of the text to and from the
object. To acquire more about this look at its TODO (not to sure if it
exists) or ask Dan / Nathan.

I hope this sheds some light on what you'd like to do.

Best Regards,
Hisham.

-- 
Hisham Mardam Bey
MSc (Computer Science)
http://hisham.cc/
+9613609386
Codito Ergo Sum (I Code Therefore I Am)


---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77alloc_id492op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


RE: [E-devel] Different text areas

2005-07-19 Thread dan sinclair


 Hi all. I'm just curious... Why is there an EWL textblock, an
 evas_object_textblock, and an ESmart_Textarea? What's the difference
 between them? Also, what is (are) the difference(s) between an ESmart
 object and an EWL widget? It seems objects made from both (i.e. custom
 ESmart object  custom EWL widget) libraries can end up the same (from
 the user's point-of-view) in the end. Besides the differences, what are
 the advantages/disadvantages to making some new-fangled widget from EWL
 or ESmart (besides that it's much easier for another programmer to use
 this widget when done with EWL)?
 The main reason I'm asking is because all of these text-input objects
 need a little work to get past the basic functionality they have, and I
 would like to contribute. The thing is, I'm not sure which API to start
 studying... I'd like to know which of these textareas is most likely to
 be most heavily used in the future. (I'm going to be a senior in
 high-school, and my inexperienced programming brain can only take one
 API at a time, even though there are many freshmen that suck up code
 like I do Coke :-) ).
 Any help would be appreciated :-).
 

The Ewl_Text (and Ewl_Entry) widget are the EWL wrappers around the 
evas_object_textblock. They try to make it a lot simpler to use the textblock. 
They also attempt to deal with the issues of newlines and tabs in the textblock 
so that the text returned to the user is the same text that was inserted. 

To this end, EWL contains its own copy of the text and its own set of 
formatting trees to hold the formatting. When the text is displayed it will 
then walk that text and formatting to build the evas_object_textblock. (This 
building on realize also makes this fit in nicely with the caching work being 
done for EWL).

There is currently no selection code in the EWL widget at the moment but I'm 
working on triggers which will also form the basis for the selection code. (A 
trigger is essentially an A HREF in HTML speak. It allows you to specify a set 
of text and to get callbacks on focus in/out, mouse up/down.) So, once the 
triggers are all good I'll see about getting selections into place.

In terms of what will be used most. Who knows. The EWL stuff is obviously what 
will be used the most if your doing an EWL app. The EWL stuff can be embedded 
into Edje apps as well. The evas_object_textblock will be used if you want to 
use straight Evas, and the Esmart textarea when you allow the extra library in 
there.

Ewl_Text and Esmart_Textarea are both essentually the same thing, they just go 
about what they do in differnet ways. The evas_object_textblock is the 
foundation for both of them.

dan
 







---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


RE: [E-devel] Different text areas

2005-07-19 Thread Brian Sakal
Thanks Hisham and Dan. But now my curiosity is further aroused :-).
Since evas_object_textblock is the foundation for the other two, is
there a reason not to fix the bugs/formatting features in that instead
of fixing them in the EWL or ESmart? Are you leaving room for different
ways of formatting? Anyhoo, I'd love to help with text selection. Are
the triggers being done only for the EWL text area? Also, can't Etox
handle the text formatting on-the-fly (sorry if that's an absurd
suggestion, but I'm still getting acquainted with what libraries are
built on top of what), and if it can be used in this case can't the
trigger things be programmed into Etox, since it already has a way of
doing certain things to only specific parts of the text it contains (at
least I think it does)? Finally, the EWL vs. ESmart/Evas... why would
someone not use EWL? After all, it is built on top of Evas, too. Would
the execution speed difference be significant (or at least significant
enough to sacrifice the ease-of-use of the EWL library)?
I'm really itching to get my hands dirty in this code, but which dirt? :-)


---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


RE: [E-devel] Different text areas

2005-07-19 Thread dan sinclair
On Tue, 2005-07-19 at 23:19 -0500, Brian Sakal wrote:
 Thanks Hisham and Dan. But now my curiosity is further aroused :-).
 Since evas_object_textblock is the foundation for the other two, is
 there a reason not to fix the bugs/formatting features in that instead
 of fixing them in the EWL or ESmart? Are you leaving room for different

In terms of evas_object_textblock, the only thing we work around in EWL
at the moment is the newline handling. Textblock takes \n \t as
_formatting_ instead of text. So, we have to do some tricks to keep our
cursor position correct and get the right text. There are some changes
that need to be pushed back into textblock but haven't been done yet.

 ways of formatting? Anyhoo, I'd love to help with text selection. Are
 the triggers being done only for the EWL text area? Also, can't Etox

Triggers will only exist in the EWL code. If someone wants to try to
port them to one of the other systems they can feel free.

 handle the text formatting on-the-fly (sorry if that's an absurd
 suggestion, but I'm still getting acquainted with what libraries are
 built on top of what), and if it can be used in this case can't the
 trigger things be programmed into Etox, since it already has a way of
 doing certain things to only specific parts of the text it contains (at

Etox is dead. It has been replaced by evas_object_textblock. Etox was
too slow at what it did to be widely used. The textblock fixes that
issue.

 least I think it does)? Finally, the EWL vs. ESmart/Evas... why would
 someone not use EWL? After all, it is built on top of Evas, too. Would
 the execution speed difference be significant (or at least significant
 enough to sacrifice the ease-of-use of the EWL library)?
 I'm really itching to get my hands dirty in this code, but which dirt? :-)

People don't want the overhead of a full widget library so they do stuff
in straight Evas/Edje.

dan






---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


RE: [E-devel] Different text areas

2005-07-19 Thread Brian Sakal
OK, I'll get to studying the evas_object_textblock code tomorrow. But
one final question: is there anything I should avoid that might
interfere with the code being done for EWL (i.e. if both have triggers,
which will be used, etc.)? Thanks a lot!


---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


RE: [E-devel] Different text areas

2005-07-19 Thread dan sinclair
On Tue, 2005-07-19 at 23:55 -0500, Brian Sakal wrote:
 OK, I'll get to studying the evas_object_textblock code tomorrow. But
 one final question: is there anything I should avoid that might
 interfere with the code being done for EWL (i.e. if both have triggers,
 which will be used, etc.)? Thanks a lot!

If something gets added into the textblock EWL will be ported over to
use that instead of what it does internally.

dan





---
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477alloc_id=16492op=click
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel