Re: [E-devel] UI syntax, last call discussion

2016-04-12 Thread Yakov Goldberg
Once again about resources...
...we discussed that resource should have a keyword like
path=res("path/image.png")

I think it doesn't make sense in this file (UI file), this should be 
implemented in Gui Builder itself.
It would be nice if parser can provide list of all files, so Gui Builder 
will be able to create list of resources according to extension.

If it's ok, I'll update Resource section in wiki.


Thus, there is only snippets syntax improvement left.
Besides that document is ready.

Yakov

On 04/04/2016 06:11 PM, Yakov Goldberg wrote:
> On 04/04/2016 02:42 AM, Carsten Haitzler (The Rasterman) wrote:
>> On Sun, 03 Apr 2016 17:37:16 +0300 Yakov Goldberg  said:
>>
>>> Tom, Raster thanks for comments.
>>>
>>> Wiki: https://phab.enlightenment.org/w/ui_builders_format/
>>> Changes:
>>>  - first letter of widget is now lower case;
>>>  - fixed indentation - 4 spaces everywhere;
>>>  - fix Resource description;
>>>  - other minor updates.
>>>
>>> The reason I put resources separately is that I was still thinking in
>>> Erigo scope.
>>> You are right - resources should be right in the text.
>>> And then gui builders should be able use API to get list of resources,
>>> so GUI_BLDR'S own project files can be created to handle resource aliases.
>>> As for format I like:
>>>
>>> res("path/layout.edj")
>>> or
>>> @"path/layout.edj"
>>> or
>>> ₪"path/layout.edj"
>>> :)
>>> ...can be decided a little bit later
>> well i started work on this being done at runtime with "magic file paths" in
>> efl. so far i have:
>>
>> "/path/to/whatever" <- normal
>> "./path/to/whatveer" <- normal
>> "../path/to/whatever" <- normal
>> "path/to/whatever" <- normal (same as ./path/to/wahtever)
>>
>> and new ones:
>>
>> "~/path/to/whatever" <- like in shell
>> "~username/path/to/whatever" <- like in shell
>> "@key/path/to/whatever" <- new "magic location" where key is set at runtime
>>
>> so it's buried inside the path string itself. what they keys are will work 
>> out
>> over time. i'm starting with some basics:
>>
>> @home <- same as ~/
>> @tmp <- /tmp (or TMPDIR or other env vars pointing to where tmp should be)
>> @data <- XDG_DATA_HOME = ~/.local/share
>> @config <- XDG_CONFIG_HOME = ~/.config
>> @cache <- XDG_CACHE_HOME = ~/.cache
>> @run <- XDG_RUNTIME_DUR - depends likely set to /var/run/user/UID
>>
>> also likely:
>>
>> @download <- ~/Download
>> @desktop <- ~/Desktop
>> @documents <- ~/Documents
>> @music <- ~/Music
>> @pictures <- ~/Pictures
>> @templates <- ~/.Templates
>> @videos <- ~/Videos
>>
>> i am THINKING of app specific keys like:
>>
>> @app.dir/(prefix)
>> @app.bin/(prefix/bin)
>> @app.lib/(prefix/lib)
>> @app.data/   (prefix/share/appname)
>> @app.locale/ (prefix/share/locale)
>> @app.config/ (@config/appname)
>> @app.cache/  (@cache/appname)
>> @app.local/  (@data/appname)
>>
>> ... maybe some more. then we get to the problem that efl itself should use 
>> this
>> too so i think over time efl should centralize data in PREFIX/share/efl (and
>> binaries, libraries etc. go int he same dir anyway due to efl building as a
>> single unit) so i am expecting to have:
>>
>> @efl.dir/
>> @efl.bin/
>> @efl.lib/
>> @efl.data/
>> @efl.locale/
>> @efl.config/
>> @efl.cache/
>> @efl.locale/
>>
>> ...
>>
>> the same code CAN in theory do:
>>
>> file:/// . (but i have to write a uri parser/converter first)
>> http:// (but then i have to write a whole http fetcher, downloader, 
>> cacher)
>> ssh:// (like with http - but need to use libssh etc.)
>>
>> the api is designed to be async out of the box, able t be extended by apps to
>> customize special path handling of their own etc. ... once i have basics
>> working i have to go over efl everywhere in eo api it takes a file... and 
>> make
>> it use this.
>>
>> then we'll have a single place in efl to handle path redirection (magic 
>> paths)
>> and this will save so much complexity in apps and even efl and make our lives
>> so much better. we can drop http handling in elm_image for example but now it
>> works everyw

Re: [E-devel] UI syntax, last call discussion

2016-04-04 Thread Yakov Goldberg
On 04/04/2016 02:42 AM, Carsten Haitzler (The Rasterman) wrote:
> On Sun, 03 Apr 2016 17:37:16 +0300 Yakov Goldberg  said:
>
>> Tom, Raster thanks for comments.
>>
>> Wiki: https://phab.enlightenment.org/w/ui_builders_format/
>> Changes:
>> - first letter of widget is now lower case;
>> - fixed indentation - 4 spaces everywhere;
>> - fix Resource description;
>> - other minor updates.
>>
>> The reason I put resources separately is that I was still thinking in
>> Erigo scope.
>> You are right - resources should be right in the text.
>> And then gui builders should be able use API to get list of resources,
>> so GUI_BLDR'S own project files can be created to handle resource aliases.
>> As for format I like:
>>
>> res("path/layout.edj")
>> or
>> @"path/layout.edj"
>> or
>> ₪"path/layout.edj"
>> :)
>> ...can be decided a little bit later
> well i started work on this being done at runtime with "magic file paths" in
> efl. so far i have:
>
> "/path/to/whatever" <- normal
> "./path/to/whatveer" <- normal
> "../path/to/whatever" <- normal
> "path/to/whatever" <- normal (same as ./path/to/wahtever)
>
> and new ones:
>
> "~/path/to/whatever" <- like in shell
> "~username/path/to/whatever" <- like in shell
> "@key/path/to/whatever" <- new "magic location" where key is set at runtime
>
> so it's buried inside the path string itself. what they keys are will work out
> over time. i'm starting with some basics:
>
> @home <- same as ~/
> @tmp <- /tmp (or TMPDIR or other env vars pointing to where tmp should be)
> @data <- XDG_DATA_HOME = ~/.local/share
> @config <- XDG_CONFIG_HOME = ~/.config
> @cache <- XDG_CACHE_HOME = ~/.cache
> @run <- XDG_RUNTIME_DUR - depends likely set to /var/run/user/UID
>
> also likely:
>
> @download <- ~/Download
> @desktop <- ~/Desktop
> @documents <- ~/Documents
> @music <- ~/Music
> @pictures <- ~/Pictures
> @templates <- ~/.Templates
> @videos <- ~/Videos
>
> i am THINKING of app specific keys like:
>
> @app.dir/(prefix)
> @app.bin/(prefix/bin)
> @app.lib/(prefix/lib)
> @app.data/   (prefix/share/appname)
> @app.locale/ (prefix/share/locale)
> @app.config/ (@config/appname)
> @app.cache/  (@cache/appname)
> @app.local/  (@data/appname)
>
> ... maybe some more. then we get to the problem that efl itself should use 
> this
> too so i think over time efl should centralize data in PREFIX/share/efl (and
> binaries, libraries etc. go int he same dir anyway due to efl building as a
> single unit) so i am expecting to have:
>
> @efl.dir/
> @efl.bin/
> @efl.lib/
> @efl.data/
> @efl.locale/
> @efl.config/
> @efl.cache/
> @efl.locale/
>
> ...
>
> the same code CAN in theory do:
>
> file:/// . (but i have to write a uri parser/converter first)
> http:// (but then i have to write a whole http fetcher, downloader, 
> cacher)
> ssh:// (like with http - but need to use libssh etc.)
>
> the api is designed to be async out of the box, able t be extended by apps to
> customize special path handling of their own etc. ... once i have basics
> working i have to go over efl everywhere in eo api it takes a file... and make
> it use this.
>
> then we'll have a single place in efl to handle path redirection (magic paths)
> and this will save so much complexity in apps and even efl and make our lives
> so much better. we can drop http handling in elm_image for example but now it
> works everywhere out of the box.
>
> so there are 9in my dir here) eo classes that let you create a file object 
> from
> an input path and resolve the resulting location. here is the important bit - 
> i
> wasn't going to add any api to list files for you. i really don't think that
> belongs in this api imho.
Of course not. I meant: parser will have API to list all resources.
The rest is great!
> i think that requires you to use this api to resolve
> the path AND then to list the content yourself. :) this will require that you
> perhaps do something special lin erigo and convert erigo's @app.xxx/ namespace
> to fake/match the target application "current data/resources directory" and
> erigo setsup its own personal namespace for its own bin/data/whatever virtual
> paths (you can register special meta locations with vpath core)
>
> it'll make sense soon. :)
>
>> As for alignment in my example, I'd stick with indentation related to
>&g

Re: [E-devel] UI syntax, last call discussion

2016-04-03 Thread Yakov Goldberg
Tom, Raster thanks for comments.

Wiki: https://phab.enlightenment.org/w/ui_builders_format/
Changes:
   - first letter of widget is now lower case;
   - fixed indentation - 4 spaces everywhere;
   - fix Resource description;
   - other minor updates.

The reason I put resources separately is that I was still thinking in 
Erigo scope.
You are right - resources should be right in the text.
And then gui builders should be able use API to get list of resources, 
so GUI_BLDR'S own project files can be created to handle resource aliases.
As for format I like:

res("path/layout.edj")
or
@"path/layout.edj"
or
₪"path/layout.edj"
:)
...can be decided a little bit later


As for alignment in my example, I'd stick with indentation related to 
parent. Don't know if it complicates implementation of generator...

part["short_name"]: table(id = "table2")
 pack[0, 1, 1, 1]: image(file = "logo2.png")
part["very_long_part_name"]: table(id = "table2")
  pack[0, 1, 1, 1]: image(file = "logo2.png")
  

Snippets:
  I don't like my own suggestion either :) Need to re-think.

Yakov

On 03/30/2016 05:48 PM, Tom Hacohen wrote:
> You're a bit inconsistent on the wiki page.
> In some places you use lower case letters at the beginning of class
> names, in others upper case. In some cases you put a space after a
> class, in some not. Please take care of that.
> There are even more spacing mistakes/confusions all around, for example
> in the last example in snippets there is an extra space before Box.
>
> Content format: I know we talked about describing the "packing" in
> Eolian. We said we'd just mark functions/properties with @packer or
> something, right? Maybe mention it in the wiki.
>
> snippet: I feel like there should be a better name for that. No need to
> use the Android naming.
>
> I really don't like the way you suggested to customise snippets. I
> really don't like it. There must be a better way. Also, using the "id"
> as a type all of sudden is weird and confusing. I really dislike all of
> this, I think we need to get back to the drawing board for this one.
>
> I don't get why resources are done this way. I much prefer
> res("path/layout.edj") or even just a list of resources, why the
> "images" and "edje"? I guess for embedding edje compilation. I think
> that's wrong putting it in this tool.
>
> Looking at the format example at the end of the wiki page, it's
> inconsistent and outdated, please update it with the definitive format.
>
>
> As a side note, I don't like the way the discussions over this are being
> done. We just get random rewrites once every few weeks. Version 1, 2 and
> 3 are very different, and there's no explanation to why things were
> changed or done in the ways they were done. I have seen no comments from
> anyone on the ML or anything, just completely new versions that improve
> in some aspects are get worse in others without any specific comments or
> discussions. I expect to see something like: "we changed it to this
> because X, Y and Z. Unfortunately there was an issue with our previous
> idea that this one solves, but there are new caveats, bla bla bla."
>
>
> Other than the above (and the comments below), it looks good and is
> getting better, I'm just asking for an easier to follow process and some
> corrections. Sorry if it comes across a bit bitchy. :)
>
>
> Answers to your questions:
>
> On 28/03/16 16:04, Yakov Goldberg wrote:
>> Hello,
>> I'd like to initiate last call discussion on UI syntax.
>>
>> Wiki is here:https://phab.enlightenment.org/w/ui_builders_format/
>>
>> If you have any objections or ideas, please share.
>>
>>
>> Also some notes:
>>
>> As I understood from previous discussion, most like 4-spaced indentation.
>> But maybe we shouldn't stick with exact number? Think of case like this:
>>
>> window
>> layout
>> part["part1"]: box(id = "box1")
>>button(text="button")
>> part["long_part_name"]: table(id = "table2")
>>pack[0, 0, 1, 1]: image(file = 
>> "logo.png")
>> part["short_name"]: table(id = "table2")
>>
>> Should user be able to align text like this?
>>
>> window
>> layout
>> part["part1"]:  box(id = "box1")
>> 

[E-devel] UI syntax, last call discussion

2016-03-28 Thread Yakov Goldberg
Hello,
I'd like to initiate last call discussion on UI syntax.

Wiki is here:https://phab.enlightenment.org/w/ui_builders_format/

If you have any objections or ideas, please share.


Also some notes:

As I understood from previous discussion, most like 4-spaced indentation.
But maybe we shouldn't stick with exact number? Think of case like this:

window
  layout
  part["part1"]: box(id = "box1")
 button(text="button")
  part["long_part_name"]: table(id = "table2")
 pack[0, 0, 1, 1]: image(file = "logo.png")
  part["short_name"]: table(id = "table2")

Should user be able to align text like this?

window
  layout
  part["part1"]:  box(id = "box1")
  button(text="button")
  part["long_part_name"]: table(id = "table1")
  pack[0, 0, 1, 1]: image(file = "logo.png")
  part["short_name"]: table(id = "table2")
  pack[0, 1, 1, 1]: image(file = 
"logo2.png")


---
Snippets:
As I said before snippets should be customizable, so user could check
properties, add callbacks., etc.
Thus updated suggested format is:

box(id="mybox")
  button(id="but1")
  image(id="img1")

window
  layout
  part["a"]: snippet.mybox (id="mybox1")
  but1(text = "text", img1.file = "logo.png")
  on("clicked", "func_name")
  img1(file = "logo.png")

---
Should all files(paths) be defined as resources, so generator will be
able to generate paths properly?

resources
images
"bg":"images/background.png"
"logo":"images/logo.png"
edje
"edje_res":["path/layout.edj", "path/layout.edc"]

window
layout(file=res("edje_res"))
   part["a"]: button(icon = res("logo"))


Yakov.


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785471&iu=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] UI syntax, letter 3

2016-03-19 Thread Yakov Goldberg
Hello,
some more updates and questions about UI syntax.

As usual, wiki is here: https://phab.enlightenment.org/w/ui_builders_format/
Please take a look on following notes.


As I understood from previous discussion, most like 4-spaced indentation.
But maybe we shouldn't stick with exact number? Think of case like this:

window
 layout
 part["part1"]: box(id = "box1")
button(text="button")
 part["long_part_name"]: table(id = "table2")
 pack[0, 0, 1, 1]: 
image(file = "logo.png")
 part["short_name"]: table(id = "table2")

Should user be able to align text like this?

window
 layout
 part["part1"]:   box(id = "box1")
button(text="button")
 part["long_part_name"]: table(id = "table1")
 pack[0, 0, 1, 1]: 
image(file = "logo.png")
 part["short_name"]:table(id = "table2")
 pack[0, 1, 1, 1]: 
image(file = "logo2.png")


---
Snippets:
As I said before snippets should be customizable, so user could check 
properties, add callbacks., etc.
Thus updated suggested format is:

box(id="mybox")
 button(id="but1")
 image(id="img1")

window
 layout
 part["a"]: snippet.mybox (id="mybox1")
 but1(text = "text", img1.file = "logo.png")
 on("clicked", "func_name")
 img1(file = "logo.png")

---
Should all files(paths) be defined as resources, so generator will be 
able to generate paths properly?

   resources
   images
   "bg":"images/background.png"
   "logo":"images/logo.png"
   edje
   "edje_res":["path/layout.edj", "path/layout.edc"]

   window
   layout(file=res("edje_res"))
  part["a"]: button(icon = res("logo"))


Yakov.

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] UI syntax, letter 2

2016-03-10 Thread Yakov Goldberg
Thank you for all comments about indentation! :)

Could you please direct part of your discussion passion to callback's 
and snippet's style :)


On 03/08/2016 06:14 PM, Yakov Goldberg wrote:
> Hello everyone,
> I had discussions with Tom and as a result updated wiki page.
>
> You can find it here:
> https://phab.enlightenment.org/w/ui_builders_format/
>
>
> Most things are clear there are several questions to be discussed:
>
> * fixed indentation (4 spaces) or not fixed
> * Widget vs Elm.Widget: all widgets - are they Elm Widgets only and thus 
> "Elm" can be skipped or we want to use namespace
> * button vs Button: starts with capital letter?
> * callbacks format - options:
>   Button()
> on clicked("callback_name")
> on("clicked", "callback_name")
>
>   #and whether allow or not property modification and object creations in 
> callbacks:
> on("clicked", "callback_name", box_1.visible = true, #and more ui 
> updates)
> on clicked,double(box_1.visible = true)
> on clicked,double(create ("window_2", null))
>
> * snippets support - please read in wiki
>   https://phab.enlightenment.org/w/ui_builders_format/#snippets
>
>
> Regards
> Yakov
>
>
> --
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://makebettercode.com/inteldaal-eval
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
>


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] UI syntax, letter 2

2016-03-08 Thread Yakov Goldberg
Hello everyone,
I had discussions with Tom and as a result updated wiki page.

You can find it here:
https://phab.enlightenment.org/w/ui_builders_format/


Most things are clear there are several questions to be discussed:

* fixed indentation (4 spaces) or not fixed
* Widget vs Elm.Widget: all widgets - are they Elm Widgets only and thus "Elm" 
can be skipped or we want to use namespace
* button vs Button: starts with capital letter?
* callbacks format - options:
 Button()
   on clicked("callback_name")
   on("clicked", "callback_name")

 #and whether allow or not property modification and object creations in 
callbacks:
   on("clicked", "callback_name", box_1.visible = true, #and more ui 
updates)
   on clicked,double(box_1.visible = true)
   on clicked,double(create ("window_2", null))

* snippets support - please read in wiki
 https://phab.enlightenment.org/w/ui_builders_format/#snippets


Regards
Yakov


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] UI unified language (UI builders format)

2016-03-01 Thread Yakov Goldberg
Hello everyone,
Already miss you all!
(besides Jack and hedsy :) )
After meetings in HQ, I updated UI format description and you can take a 
look on it.

I've not fully switched to interfaces yet, so some points could be not 
relevant. Please correct.

You can find it here:
https://phab.enlightenment.org/w/ui_builders_format/

Further I add issues/questions which are not very clear and require help 
of world brain :)
I'm sure this is not all the problems I could think about, so add yours...

Let's go:
* Brackets to use for parameter values, *[] or ()*: size=[100, 100], 
size = (100, 100)
* All widgets - are they Elm Widgets only or optional namespace 
attribute can be provided:
   i.e. Image (namespace="Evas")
* How to describe translatable text
* During our meeting someone mentioned that comments will be objects... 
and comments can be added as properties to objects. What does it mean?

  * Should we use "pack" implicitly for Windows, Boxes and other 
containers which require only object parameter, and "not_packed" key 
word for objects we don't want to pack. Or should we use "pack" 
explicitly for all objects we want to pack?

* Do we need data inside callbacks? How we want define and pass it?
Actually lately I started to think, that UI context should be passed 
as data to all callbacks. And user can add his data to context with 
"data_set/get" API

* How to describe create callback for a new window.
   on clicked(create ("window_2", null))


And one more big note:

Erigo supports snippets.
Example:
Let's say there are "win1" and "conf1" on a canvas.
Check screenshot:
http://www.enlightenment.org/ss/e-56d5b05d67d658.81288411.jpg

"conf1" is a snippet. Create function, structure with all the content, 
etc will be generated for it.
Thus:
   - user can manually call "conf1_create" function and handle its context;
   - or user can add creation callback using Erigo.
 User adds callback for a object, chooses type "create" for a 
callback, sets parent, other actions and etc. In this way snippet can be 
reused as many times as needed.

Question: do we want to support described usecase?
If so we have several thoughts how to describe this:

Conformant(id="conf1")
Layout
   Button

Window(id="win1")
Box(id = "box1")
   Button(id="but1")
  on clicked(create("conf1", "win1"), box1.pack("conf1"), 
conf1.visible)
#or ---
   Button(id="but1")
  on clicked
   #in this case id "conf1" used as constructor
   conf1(id = "my_conf", parent = "win1")
   box1.pack("my_conf")
   my_conf.visible
#or ---
#also snippet can be described as a new function
MyConf = Conformant(id="conf1")
Layout
   Button
#...and then used...
   Button(id="but1")
  on clicked
   MyConf(id = "new_conf", parent = "win1")
   box1.pack("my_conf")
   new_conf.visible

---
Yakov



--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [tools/erigo] master 01/01: Reafactoring factory

2015-08-01 Thread Yakov Goldberg
Hey,
We will release after 1.15 and try to keep a branch that works stable 
with 1.15, as there are several users who work only with stable versions.
In general there are many minor improvements: multi context, layout, 
canvas, internals (Eolian)
Need to go through the history and update NEWS.





On 07/30/2015 04:53 PM, Tom Hacohen wrote:
> AWESOME. :P
>
> What do you have planned for the next release? And when is it?
>
>
> On 30/07/15 14:51, Yakov Goldberg wrote:
>> yakov pushed a commit to branch master.
>>
>> http://git.enlightenment.org/tools/erigo.git/commit/?id=4d9cff57c396eb6a73b46d0334a4be9fde88a64e
>>
>> commit 4d9cff57c396eb6a73b46d0334a4be9fde88a64e
>> Author: Yakov Goldberg 
>> Date:   Mon Jun 29 17:30:36 2015 +0300
>>
>>   Reafactoring factory
>>
>>   Most of the widgets in factory are not just images now, but real 
>> widgets.
>>   Thus when edit theme is changed these widgets are changed too.
>>
>>   Added Grid widget
>> ---
>>data/config/func_names.json  |   18 +-
>>src/bin/gui/dnd.c|   22 +-
>>src/bin/gui/dnd.h|4 +-
>>src/bin/gui/editor.c |   62 +-
>>src/bin/gui/egui_layout.json | 1520 
>> +++---
>>src/bin/gui/egui_logic.c |  279 ++---
>>src/bin/gui/images/CMakeLists.txt|   17 +-
>>src/bin/gui/images/factory_actionslider.png  |  Bin 3728 -> 0 bytes
>>src/bin/gui/images/factory_box.png   |  Bin 8403 -> 0 bytes
>>src/bin/gui/images/factory_bubble.png|  Bin 6080 -> 0 bytes
>>src/bin/gui/images/factory_button.png|  Bin 2307 -> 0 bytes
>>src/bin/gui/images/factory_calendar.png  |  Bin 27226 -> 0 bytes
>>src/bin/gui/images/factory_check.png |  Bin 825 -> 0 bytes
>>src/bin/gui/images/factory_clock.png |  Bin 6884 -> 0 bytes
>>src/bin/gui/images/factory_colorselector.png |  Bin 27693 -> 0 bytes
>>src/bin/gui/images/factory_conformant.png|  Bin 0 -> 9805 bytes
>>src/bin/gui/images/factory_ctxpopup.png  |  Bin 12135 -> 6646 bytes
>>src/bin/gui/images/factory_dayselector.png   |  Bin 6038 -> 0 bytes
>>src/bin/gui/images/factory_diskselector.png  |  Bin 5215 -> 0 bytes
>>src/bin/gui/images/factory_entry.png |  Bin 4610 -> 0 bytes
>>src/bin/gui/images/factory_flip.png  |  Bin 4266 -> 110461 bytes
>>src/bin/gui/images/factory_gengrid.png   |  Bin 9505 -> 221945 bytes
>>src/bin/gui/images/factory_genlist.png   |  Bin 14784 -> 31597 bytes
>>src/bin/gui/images/factory_grid.png  |  Bin 0 -> 22623 bytes
>>src/bin/gui/images/factory_image.png |  Bin 3798 -> 81162 bytes
>>src/bin/gui/images/factory_label.png |  Bin 1139 -> 0 bytes
>>src/bin/gui/images/factory_menu.png  |  Bin 9553 -> 4365 bytes
>>src/bin/gui/images/factory_radio.png |  Bin 2031 -> 0 bytes
>>src/bin/gui/images/factory_table.png |  Bin 11285 -> 0 bytes
>>src/bin/gui/images/factory_win.png   |  Bin 114252 -> 0 bytes
>>src/lib/generator.c  |1 +
>>31 files changed, 1059 insertions(+), 864 deletions(-)
>>
>> diff --git a/data/config/func_names.json b/data/config/func_names.json
>> index fe83098..be538db 100644
>> --- a/data/config/func_names.json
>> +++ b/data/config/func_names.json
>> @@ -65,6 +65,7 @@
>>"Elm.Entry":
>>  {
>> "Elm.Widget.part_text":[null, "Entry"],
>> + "Elm.Entry.scrollable":[true],
>> "Efl.Gfx.Base.size":[60, 30]
>>  },
>>"Elm.Flip":
>> @@ -123,6 +124,10 @@
>>"Elm.Fileselector_Entry":
>>  {
>> "Efl.Gfx.Base.size":[100, 22]
>> +  },
>> +"Elm.Separator":
>> +  {
>> + "Efl.Gfx.Base.size":[4, 100]
>>  }
>>  },
>>   "OPERATIONS" :
>> @@ -394,7 +399,18 @@
>>{
>>   "class" : "Elm.Grid",
>>   "name" : "pack",
>> -   "display_name" : "Pack"
>> +   "display_name" : "Pack",
>> +   

Re: [E-devel] [EGIT] [core/elementary] master 01/01: radio: update doc

2015-04-16 Thread Yakov Goldberg
My fault, sorry.
Everything is fine


On 04/16/2015 03:18 AM, ChunEon Park wrote:
> intended.
> what's the problem?
>
> 
> -Regards, Hermet-
>
> -Original Message-----
> From: "Yakov Goldberg"
> To: "Enlightenment developer 
> list"; 
> ;
> Cc:
> Sent: 2015-04-16 (목) 01:22:00
> Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: radio: update 
> doc
>   
> Hi Hermet,
>did you make a mistake in this commit?
>
> Yakov.
>
> On 04/14/2015 04:20 PM, ChunEon Park wrote:
>> hermet pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/elementary.git/commit/?id=517c675ffb9cce59351b706d4c08d5da1aeb9c88
>>
>> commit 517c675ffb9cce59351b706d4c08d5da1aeb9c88
>> Author: ChunEon Park 
>> Date:   Tue Apr 14 22:20:22 2015 +0900
>>
>>   radio: update doc
>> ---
>>src/lib/elm_radio.eo  2 +-
>>1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/lib/elm_radio.eo b/src/lib/elm_radio.eo
>> index 7a644aa..887eddb 100644
>> --- a/src/lib/elm_radio.eo
>> +++ b/src/lib/elm_radio.eo
>> @@ -92,7 +92,7 @@ class Elm_Radio (Elm_Layout, 
>> Elm_Interface_Atspi_Widget_Action)
>> @ingroup Radio */
>>
>> params {
>> -@in Evas_Object *group; /*@ Any object whose group the @p obj 
>> is to join. */
>> +@in Elm_Radio *group; /*@ Any radio object whose group the @p 
>> obj is to join. */
>> }
>>  }
>>   }
>>
>
> --
> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> Develop your own process in accordance with the BPMN 2 standard
> Learn Process modeling best practices with Bonita BPM through live exercises
> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> --
> BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
> Develop your own process in accordance with the BPMN 2 standard
> Learn Process modeling best practices with Bonita BPM through live exercises
> http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
> source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: radio: update doc

2015-04-15 Thread Yakov Goldberg
Hi Hermet,
  did you make a mistake in this commit?

Yakov.

On 04/14/2015 04:20 PM, ChunEon Park wrote:
> hermet pushed a commit to branch master.
>
> http://git.enlightenment.org/core/elementary.git/commit/?id=517c675ffb9cce59351b706d4c08d5da1aeb9c88
>
> commit 517c675ffb9cce59351b706d4c08d5da1aeb9c88
> Author: ChunEon Park 
> Date:   Tue Apr 14 22:20:22 2015 +0900
>
>  radio: update doc
> ---
>   src/lib/elm_radio.eo | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/lib/elm_radio.eo b/src/lib/elm_radio.eo
> index 7a644aa..887eddb 100644
> --- a/src/lib/elm_radio.eo
> +++ b/src/lib/elm_radio.eo
> @@ -92,7 +92,7 @@ class Elm_Radio (Elm_Layout, 
> Elm_Interface_Atspi_Widget_Action)
>@ingroup Radio */
>   
>params {
> -@in Evas_Object *group; /*@ Any object whose group the @p obj is 
> to join. */
> +@in Elm_Radio *group; /*@ Any radio object whose group the @p 
> obj is to join. */
>}
> }
>  }
>


--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/elementary] master 01/01: Add missing file_get legacy definition for Video and Layout

2015-04-15 Thread Yakov Goldberg
On 04/15/2015 09:32 AM, Stefan Schmidt wrote:
> Hello.
>
> On 14/04/15 22:57, Dave Andreoli wrote:
>> davemds pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/elementary.git/commit/?id=d021b7e36d001ecdeb3767bb6a67cc361d0f7ee9
>>
>> commit d021b7e36d001ecdeb3767bb6a67cc361d0f7ee9
>> Author: Dave Andreoli 
>> Date:   Tue Apr 14 22:19:18 2015 +0200
>>
>>  Add missing file_get legacy definition for Video and Layout
>>  
>>  was missed from commit:
>>  e5cda41c889f98b6f3f5f63b909f595a7a656cc0
> If these legacy defines have only been forgotten it is totally fine to
> add them now. I just want to hear from Yakov if he really forgot or if
> he had a reason not adding them but forgot to say so in the commit
> message. Yakov?
I didn't add these legace APIs because they have never existed.
I just added FILE interface implementations for Layout and Video to 
avoid error message.
So do we need them now?

>
> regards
> Stefan Schmidt
>
>
>> ---
>>   src/lib/elm_layout.c|  6 ++
>>   src/lib/elm_layout_legacy.h | 13 +
>>   src/lib/elm_video.c |  6 ++
>>   src/lib/elm_video_legacy.h  | 12 
>>   4 files changed, 37 insertions(+)
>>
>> diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c
>> index 19f6b47..f04b80f 100644
>> --- a/src/lib/elm_layout.c
>> +++ b/src/lib/elm_layout.c
>> @@ -1725,4 +1725,10 @@ elm_layout_file_set(Eo *obj, const char *file, const 
>> char *group)
>>  return eo_do_ret((Eo *) obj, ret, efl_file_set(file, group));
>>   }
>>   
>> +EAPI void
>> +elm_layout_file_get(Eo *obj, const char **file, const char **group)
>> +{
>> +   eo_do((Eo *) obj, efl_file_get(file, group));
>> +}
>> +
>>   #include "elm_layout.eo.c"
>> diff --git a/src/lib/elm_layout_legacy.h b/src/lib/elm_layout_legacy.h
>> index 1df030d..e5bd857 100644
>> --- a/src/lib/elm_layout_legacy.h
>> +++ b/src/lib/elm_layout_legacy.h
>> @@ -88,4 +88,17 @@ EAPI Evas_Object 
>> *elm_layout_content_unset(Evas_Object *obj, con
>>*/
>>   EAPI Eina_Bool elm_layout_file_set(Eo *obj, const char *file, const char 
>> *group);
>>   
>> +/**
>> + * Get the loaded file
>> + *
>> + *
>> + * @ingroup Layout
>> + *
>> + * @param file The path to file (edj) used as layout
>> + * @param group The group that the layout belongs in edje file
>> + *
>> + * @since 1.14
>> + */
>> +EAPI void elm_layout_file_get(Eo *obj, const char **file, const char 
>> **group);
>> +
>>   #include "elm_layout.eo.legacy.h"
>> diff --git a/src/lib/elm_video.c b/src/lib/elm_video.c
>> index b90e3f9..56f8ad0 100644
>> --- a/src/lib/elm_video.c
>> +++ b/src/lib/elm_video.c
>> @@ -460,5 +460,11 @@ elm_video_file_set(Eo *obj, const char *filename)
>>  return eo_do_ret((Eo *) obj, ret, efl_file_set(filename, NULL));
>>   }
>>   
>> +EAPI void
>> +elm_video_file_get(Eo *obj, const char **filename)
>> +{
>> +   eo_do((Eo *) obj, efl_file_get(filename, NULL));
>> +}
>> +
>>   
>>   #include "elm_video.eo.c"
>> diff --git a/src/lib/elm_video_legacy.h b/src/lib/elm_video_legacy.h
>> index 82e4191..184d31a 100644
>> --- a/src/lib/elm_video_legacy.h
>> +++ b/src/lib/elm_video_legacy.h
>> @@ -48,4 +48,16 @@ the available Webcam on your system).
>>*/
>>   EAPI Eina_Bool elm_video_file_set(Eo *obj, const char *filename);
>>   
>> +/**
>> + *
>> + * @brief Get the file or URI that is used as the video source.
>> + *
>> + * @ingroup Video
>> + *
>> + * @param filename The file or URI.
>> + *
>> + * @since 1.14
>> + */
>> +EAPI void elm_video_file_get(Eo *obj, const char **filename);
>> +
>>   #include "elm_video.eo.legacy.h"
>>
>


--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Erigo v1.0.0 is out!

2015-04-06 Thread Yakov Goldberg
c545e) is an invalid 
> ref.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x0808bb15 in dnd_drag_data_get ()
> (gdb) where
> #0  0x0808bb15 in dnd_drag_data_get ()
> #1  0x080812d7 in _drop_target_main_wdg_enter ()
> #2  0xb799ae52 in _x11_dnd_dropable_handle (dropable=0x8a48b30, x=874, y=564, 
> action=ELM_XDND_ACTION_COPY) at elm_cnp.c:1474
> #3  0xb799db8e in _x11_dnd_position (data=0x0, etype=116, ev=0x8a02ce0) at 
> elm_cnp.c:1621
> #4  0xb7f299dc in _ecore_call_handler_cb (event=, 
> type=, data=, func=0xb799d690 
> <_x11_dnd_position>)
>  at lib/ecore/ecore_private.h:359
> #5  _ecore_event_call () at lib/ecore/ecore_events.c:562
> #6  0xb7f31e25 in _ecore_main_loop_iterate_internal (once_only=0) at 
> lib/ecore/ecore_main.c:1947
> #7  0xb7f3203f in ecore_main_loop_begin () at lib/ecore/ecore_main.c:982
> #8  0xb7a6b4a4 in elm_run () at elm_main.c:1095
> #9  0x08054829 in main ()
>
> 
> -Regards, Hermet-
>
>
> -Original Message-
> From: "Thanatermesis"
> To: "Enlightenment developer list";
> Cc:
> Sent: 2015-04-03 (금) 01:57:14
> Subject: Re: [E-devel] Erigo v1.0.0 is out!
>   
> erigo/src/lib/ffi_abstraction.c:155:9: error: too few arguments to function
> ‘_eo_do_end’
>
> seems like it doesn't compile with EFL 1.13.1 ?
>
>
> 2015-04-02 9:41 GMT+02:00 Yakov Goldberg :
>
>> Hi Hermet,
>>  thanks for using :)
>> waiting for more details.
>>  Ping me on the IRC
>>
>> Yakov
>>
>> On 04/02/2015 06:00 AM, ChunEon Park wrote:
>>> great!
>>> i tried this erigo with the latest efl
>>> but still it often get a crash randomly while trying something to do.
>>>
>>> is it still unstable?
>>>
>>> or my problem?
>>>
>>> 
>>> -Regards, Hermet-
>>>
>>> -Original Message-
>>> From: "Yakov Goldberg"
>>> To: "Enlightenment developer list"<
>> enlightenment-devel@lists.sourceforge.net>;
>>> Cc:
>>> Sent: 2015-04-01 (수) 00:02:22
>>> Subject: [E-devel] Erigo v1.0.0 is out!
>>>
>>> Hello,
>>>
>>> We are happy to announce Erigo v1.0.0 release!
>>>
>>> We improved stability and added more widgets.
>>> Now widget's inheritance tree (classes and properties) is taken from
>> Eolian and can be managed with black list.
>>> Configuration/installation options and paths were fixed, so developers
>> who are interested to package Erigo, please pay attention.
>>> Here is summary about current release:
>>>
>>> Erigo 1.0.0
>>> ===
>>>
>>> Changes since 0.9.1
>>> ---
>>> Features:
>>>   * Now all classes and functions are fetched from Eolian.
>>> Functions can be filtered out with black list.
>>>   * Add infrastructure to support warning message's popup windows.
>>> Add popup message for "Save" dialog.
>>>   * Add memo bubble for properties which require to press "Enter" to
>> apply
>>> changes.
>>>   * Add support for widgets: Fileselector, Fileselector Entry,
>>> Fileselector Button, Slider, Progressbar, Panes, Conformant.
>>>   * Split Factory to sections.
>>>
>>> Internals:
>>>   * Wider usage of Eolian API to generate function names.
>>>   * Check if Property implements GET method and it is possible
>>> to fetch default values.
>>>
>>> Fixes:
>>>  * Configuration and installation options:
>>>For configuration and installation use:
>>>$ cmake ..
>>>
>>>In order to install into custom path:
>>>$ cmake -DCMAKE_INSTALL_PREFIX=/install_path ..
>>>
>>>For configuration of Debug version and to run Erigo from build
>> path:
>>>$ cmake -DCMAKE_INSTALL_PREFIX=/install_path
>> -DCMAKE_BUILD_TYPE=debug ..
>>>  * Fix showing properties and classes in Property View.
>>>  * Fix leaks and internal's memory management
>>>
>>> We always happy to get feedback and ideas.
>>>
>>> Download:https://git.enlightenment.org/tools/erigo.git
>>> Wiki:https://phab.enlightenment.org/w/projects/gui_builder/
>>> Videos:
>>> https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r
>>>
>>> Regards,

[EGIT] [tools/erigo] master 01/01: More cleanup in addition to "invalid ref" fix

2015-04-06 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=691a16d6e046e043c497ddb8316181fb5df082ea

commit 691a16d6e046e043c497ddb8316181fb5df082ea
Author: Yakov Goldberg 
Date:   Mon Apr 6 17:29:00 2015 +0300

More cleanup in addition to "invalid ref" fix

Addition to 871c7db5bfaac2f71af18d1192b4bac975086002 commit
---
 src/bin/egui_gui/editor.c | 16 
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 3e6e02d..6a556ce 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -1582,17 +1582,6 @@ static Gui_Widget*
 _editor_factory_wdg_create(const char *class_name, const Gui_Widget 
*focused_wdg, Evas_Coord main_wdg_x, Evas_Coord main_wdg_y);
 
 static Eina_Bool
-_wdg_reload_cb(void *data)
-{
-   Gui_Widget *wdg = data;
-   _wdg_parent_win_reload(wdg);
-   _editor_wdg_selected_set(wdg);
-   objtree_build(wdg_context_get(wdg));
-   objtree_item_selected_set(wdg);
-   return ECORE_CALLBACK_CANCEL;
-}
-
-static Eina_Bool
 _drop_target_drop(void *data, Evas_Object *obj, Elm_Selection_Data *ev)
 {
Gui_Widget *wdg = data;
@@ -1976,7 +1965,10 @@ end:
   }
  }
 
-   ecore_timer_add(0.2, _wdg_reload_cb, new_wdg);
+   _wdg_parent_win_reload(new_wdg);
+   _editor_wdg_selected_set(new_wdg);
+   objtree_build(wdg_context_get(new_wdg));
+   objtree_item_selected_set(new_wdg);
 
return EINA_TRUE;
 }

-- 




[EGIT] [tools/erigo] master 01/03: Fix error when dragging window from factory

2015-04-06 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=af6e9d79d9427df58c0f2c22778e0af10583ff8f

commit af6e9d79d9427df58c0f2c22778e0af10583ff8f
Author: Yakov Goldberg 
Date:   Mon Apr 6 11:28:08 2015 +0300

Fix error when dragging window from factory

This fixes an error: Object of class 'Elm_Win' - Not all of the object
constructors have been executed.
---
 src/bin/egui_gui/editor.c | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index b38cce2..3e6e02d 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -1441,9 +1441,16 @@ _drop_target_main_wdg_enter(void *data, Evas_Object *obj)
   {
  drag_obj_class_name = _drag_data;
  kl_func = db_class_func_get(drag_obj_class_name);
- di->eo_cur = eo_add(kl_func(), canvas);
- eo_do(di->eo_cur, efl_gfx_visible_set(EINA_TRUE),
-   elm_obj_widget_part_text_set(NULL, drag_obj_class_name));
+ if (!strcmp(drag_obj_class_name, DB_DEF_WIN_CLASS))
+   {
+  di->eo_cur = eo_add(kl_func(), canvas, 
elm_obj_win_constructor(NULL, ELM_WIN_BASIC));
+   }
+ else
+   {
+  di->eo_cur = eo_add(kl_func(), canvas);
+   }
+eo_do(di->eo_cur, efl_gfx_visible_set(EINA_TRUE),
+  elm_obj_widget_part_text_set(NULL, drag_obj_class_name));
   }
  }
 }

-- 




[EGIT] [tools/erigo] master 02/03: Fix a bug which caused "invalid ref" message

2015-04-06 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=871c7db5bfaac2f71af18d1192b4bac975086002

commit 871c7db5bfaac2f71af18d1192b4bac975086002
Author: Yakov Goldberg 
Date:   Mon Apr 6 11:28:51 2015 +0300

Fix a bug which caused "invalid ref" message

Was trying to call eo_do on deleted object
---
 src/bin/egui_gui/dnd.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/dnd.c b/src/bin/egui_gui/dnd.c
index 5e05af0..6ee6d97 100644
--- a/src/bin/egui_gui/dnd.c
+++ b/src/bin/egui_gui/dnd.c
@@ -16,6 +16,7 @@ typedef struct
Eo *image; /* image for DnD icon. */
Eo *obj; /*object, where drag starts */
Eo *drag_window_obj; /* Object inside drag window. neede to hide it. */
+   Eo *drag_window_obj_wref;
const Gui_Widget *wdg; /* let's think about it as about DnD data. */
 
void (*_drag_start_cb)(const Gui_Widget *wdg, const Eo *obj);
@@ -78,7 +79,7 @@ dnd_drag_wdg_get()
 void
 dnd_drag_window_object_visibility_set(Eina_Bool visibility)
 {
-   eo_do(_dnd_info.drag_info->drag_window_obj, 
efl_gfx_visible_set(visibility));
+   eo_do(_dnd_info.drag_info->drag_window_obj_wref, 
efl_gfx_visible_set(visibility));
 }
 
 static void
@@ -330,6 +331,7 @@ _drag_factory_real_object_create(void *data, Evas_Object 
*parent, Evas_Coord *xo
eo_do(ic, efl_gfx_visible_set(EINA_TRUE),
  elm_obj_widget_part_text_set(NULL, drag_obj_class_name));
di->drag_window_obj = ic;
+   eo_do(di->drag_window_obj, eo_wref_add(&(di->drag_window_obj_wref)));
 
return ic;
 }
@@ -389,6 +391,7 @@ _drag_widget_object_create(void *data, Evas_Object *parent, 
Evas_Coord *xoff, Ev
if (yoff) *yoff = cur_y_global;
 
di->drag_window_obj = ic = dnd_drag_obj_create(di->wdg, parent);
+   eo_do(di->drag_window_obj, eo_wref_add(&(di->drag_window_obj_wref)));
return ic;
 }
 

-- 




[EGIT] [tools/erigo] master 03/03: Update example

2015-04-06 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=c1276499008cd218a25870f7c630ba46f5f08879

commit c1276499008cd218a25870f7c630ba46f5f08879
Author: Yakov Goldberg 
Date:   Mon Apr 6 11:40:52 2015 +0300

Update example
---
 examples/example.egui | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/examples/example.egui b/examples/example.egui
index fcfd438..f258f1e 100644
--- a/examples/example.egui
+++ b/examples/example.egui
@@ -1,16 +1,15 @@
 {
-  "JSON_Version":"2",
+  "JSON_Version":"1",
   "Settings":
   {
 "project":"new_project",
-"images_prefix":"",
 "start_points":["elm_win1"]
   },
   "Resources":
   {
 "Images":
 {
-  "logo":"/home/yakov/egui/examples/logo.png"
+  "logo":"logo.png"
 }
   },
   "Widgets":
@@ -25,11 +24,14 @@
   "Properties":
   {
 "Efl.Gfx.Base.visible":[true],
-"Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
 "Efl.Gfx.Base.size":[514, 665],
 "Elm_Win.title":["elm_win1"],
 "Elm_Win.autodel":[true]
   },
+  "Methods":
+  {
+"Elm_Win.constructor":[null, "ELM_WIN_BASIC"]
+  },
   "Contains":["elm_bg1", "elm_box1"]
 },
 "elm_win1_main_menu":
@@ -212,4 +214,4 @@
   }
 }
   }
- }
+ }
\ No newline at end of file

-- 




Re: [E-devel] Erigo v1.0.0 is out!

2015-04-02 Thread Yakov Goldberg
Hi Hermet,
thanks for using :)
   waiting for more details.
Ping me on the IRC

Yakov

On 04/02/2015 06:00 AM, ChunEon Park wrote:
> great!
> i tried this erigo with the latest efl
> but still it often get a crash randomly while trying something to do.
>
> is it still unstable?
>
> or my problem?
>
> 
> -Regards, Hermet-
>
> -Original Message-
> From: "Yakov Goldberg"
> To: "Enlightenment developer list";
> Cc:
> Sent: 2015-04-01 (수) 00:02:22
> Subject: [E-devel] Erigo v1.0.0 is out!
>   
> Hello,
>
> We are happy to announce Erigo v1.0.0 release!
>
> We improved stability and added more widgets.
> Now widget's inheritance tree (classes and properties) is taken from Eolian 
> and can be managed with black list.
> Configuration/installation options and paths were fixed, so developers who 
> are interested to package Erigo, please pay attention.
>
> Here is summary about current release:
>
> Erigo 1.0.0
> ===
>
> Changes since 0.9.1
> ---
> Features:
>  * Now all classes and functions are fetched from Eolian.
>Functions can be filtered out with black list.
>  * Add infrastructure to support warning message's popup windows.
>Add popup message for "Save" dialog.
>  * Add memo bubble for properties which require to press "Enter" to apply
>changes.
>  * Add support for widgets: Fileselector, Fileselector Entry,
>Fileselector Button, Slider, Progressbar, Panes, Conformant.
>  * Split Factory to sections.
>
> Internals:
>  * Wider usage of Eolian API to generate function names.
>  * Check if Property implements GET method and it is possible
>to fetch default values.
>
> Fixes:
> * Configuration and installation options:
>   For configuration and installation use:
>   $ cmake ..
>
>   In order to install into custom path:
>   $ cmake -DCMAKE_INSTALL_PREFIX=/install_path ..
>
>   For configuration of Debug version and to run Erigo from build path:
>   $ cmake -DCMAKE_INSTALL_PREFIX=/install_path -DCMAKE_BUILD_TYPE=debug ..
>
> * Fix showing properties and classes in Property View.
> * Fix leaks and internal's memory management
>
> We always happy to get feedback and ideas.
>
> Download:https://git.enlightenment.org/tools/erigo.git
> Wiki:https://phab.enlightenment.org/w/projects/gui_builder/
> Videos:
> https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r
>
> Regards,
>   Erigo team.
>
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> --
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Erigo v1.0.0 is out!

2015-03-31 Thread Yakov Goldberg
Hello,

We are happy to announce Erigo v1.0.0 release!

We improved stability and added more widgets.
Now widget's inheritance tree (classes and properties) is taken from Eolian and 
can be managed with black list.
Configuration/installation options and paths were fixed, so developers who are 
interested to package Erigo, please pay attention.

Here is summary about current release:

Erigo 1.0.0
===

Changes since 0.9.1
---
Features:
* Now all classes and functions are fetched from Eolian.
  Functions can be filtered out with black list.
* Add infrastructure to support warning message's popup windows.
  Add popup message for "Save" dialog.
* Add memo bubble for properties which require to press "Enter" to apply
  changes.
* Add support for widgets: Fileselector, Fileselector Entry,
  Fileselector Button, Slider, Progressbar, Panes, Conformant.
* Split Factory to sections.

Internals:
* Wider usage of Eolian API to generate function names.
* Check if Property implements GET method and it is possible
  to fetch default values.

Fixes:
   * Configuration and installation options:
 For configuration and installation use:
 $ cmake ..

 In order to install into custom path:
 $ cmake -DCMAKE_INSTALL_PREFIX=/install_path ..

 For configuration of Debug version and to run Erigo from build path:
 $ cmake -DCMAKE_INSTALL_PREFIX=/install_path -DCMAKE_BUILD_TYPE=debug ..

   * Fix showing properties and classes in Property View.
   * Fix leaks and internal's memory management

We always happy to get feedback and ideas.

Download:https://git.enlightenment.org/tools/erigo.git
Wiki:https://phab.enlightenment.org/w/projects/gui_builder/
Videos:
https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r

Regards,
 Erigo team.


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/erigo] master 02/02: release: update NEWS and bump version for 1.0.0 release

2015-03-31 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=29226c9edb355364909a70b055d9f52d1c902d8c

commit 29226c9edb355364909a70b055d9f52d1c902d8c
Author: Yakov Goldberg 
Date:   Mon Mar 30 18:47:14 2015 +0300

release: update NEWS and bump version for 1.0.0 release
---
 NEWS | 37 -
 1 file changed, 36 insertions(+), 1 deletion(-)

diff --git a/NEWS b/NEWS
index 2f6ef34..6395761 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,42 @@
 ===
-Erigo 0.9.1
+Erigo 1.0.0
 ===
 
+Full manuals, examples and video lessons can be found here:
+https://phab.enlightenment.org/w/projects/gui_builder/
+
+Changes since 0.9.1
+---
+Features:
+   * Now all classes and functions are fetched from Eolian.
+ Functions can be filtered out with black list.
+   * Add infrastructure to support warning message's popup windows.
+ Add popup message for "Save" dialog.
+   * Add memo bubble for properties which require to press "Enter" to apply
+ changes.
+   * Add supoort for widgets: Fileselector, Fileselector Entry,
+ Fileselector Buttoni, Slider, Progressbar, Panes, Conformant.
+   * Split Factory to sections.
+
+Internals:
+   * Wider usage of Eolian API to generate function names.
+   * Check if Property implements GET method and it is possible
+ to fetch default values.
+
+Fixes:
+  * Configuration and installiation options:
+For configuration and installation use:
+$ cmake ..
+
+In order to install into custom path:
+$ cmake -DCMAKE_INSTALL_PREFIX=/install_path ..
+
+For configuration of Debug version and to run Erigo from build path:
+$ cmake -DCMAKE_INSTALL_PREFIX=/install_path -DCMAKE_BUILD_TYPE=debug ..
+
+  * Fix showing properties and classes in Property View.
+  * Fix leaks and internal's memory management
+
 Changes since 0.9.0
 ---
 

-- 




[EGIT] [tools/erigo] master 01/02: Rename ChangeLog to NEWS

2015-03-31 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=05a4fa346bfd233e8e42695a0a8e62c27932ea59

commit 05a4fa346bfd233e8e42695a0a8e62c27932ea59
Author: Yakov Goldberg 
Date:   Mon Mar 30 18:48:13 2015 +0300

Rename ChangeLog to NEWS
---
 ChangeLog => NEWS | 0
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/NEWS
similarity index 100%
rename from ChangeLog
rename to NEWS

-- 




[EGIT] [tools/erigo] master 01/01: Update test data

2015-03-30 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=173eed84d25399b769fa8aa446ccdb356d445dda

commit 173eed84d25399b769fa8aa446ccdb356d445dda
Author: Yakov Goldberg 
Date:   Mon Mar 30 11:28:02 2015 +0300

Update test data
---
 src/tests/data/demo.c.ref | 32 
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/tests/data/demo.c.ref b/src/tests/data/demo.c.ref
index e7b7efa..673ca49 100644
--- a/src/tests/data/demo.c.ref
+++ b/src/tests/data/demo.c.ref
@@ -736,29 +736,29 @@ egui_layout_main_win_create(Eo *__main_parent)
eo_do(toolbar, evas_obj_size_hint_weight_set(0.00, 0.00));
eo_do(toolbar, evas_obj_size_hint_align_set(-1.00, 0.00));
eo_do(toolbar, evas_obj_visibility_set(EINA_TRUE));
-   toolbar_project_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("folder-open", "Project", NULL, NULL));
+   eo_do(toolbar, toolbar_project_it = 
elm_obj_toolbar_item_append("folder-open", "Project", NULL, NULL));
pub_widgets->toolbar_project_it = toolbar_project_it;
-   toolbar_separator1_it = eo_do(toolbar, elm_obj_toolbar_item_append(NULL, 
NULL, NULL, NULL));
+   eo_do(toolbar, toolbar_separator1_it = elm_obj_toolbar_item_append(NULL, 
NULL, NULL, NULL));
pub_widgets->toolbar_separator1_it = toolbar_separator1_it;
-   toolbar_rm_it = eo_do(toolbar, elm_obj_toolbar_item_append("emblem-web", 
"Resource manager", (Evas_Smart_Cb) _toolbar_item_sel_cb, NULL));
+   eo_do(toolbar, toolbar_rm_it = elm_obj_toolbar_item_append("emblem-web", 
"Resource manager", (Evas_Smart_Cb) _toolbar_item_sel_cb, NULL));
pub_widgets->toolbar_rm_it = toolbar_rm_it;
-   toolbar_settings_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("preferences-system", "Settings", (Evas_Smart_Cb) 
_toolbar_item_sel_cb, NULL));
+   eo_do(toolbar, toolbar_settings_it = 
elm_obj_toolbar_item_append("preferences-system", "Settings", (Evas_Smart_Cb) 
_toolbar_item_sel_cb, NULL));
pub_widgets->toolbar_settings_it = toolbar_settings_it;
-   toolbar_separator2_it = eo_do(toolbar, elm_obj_toolbar_item_append(NULL, 
NULL, NULL, NULL));
+   eo_do(toolbar, toolbar_separator2_it = elm_obj_toolbar_item_append(NULL, 
NULL, NULL, NULL));
pub_widgets->toolbar_separator2_it = toolbar_separator2_it;
-   toolbar_undo_it = eo_do(toolbar, elm_obj_toolbar_item_append("edit-undo", 
"Undo", (Evas_Smart_Cb) _toolbar_item_sel_cb, NULL));
+   eo_do(toolbar, toolbar_undo_it = elm_obj_toolbar_item_append("edit-undo", 
"Undo", (Evas_Smart_Cb) _toolbar_item_sel_cb, NULL));
pub_widgets->toolbar_undo_it = toolbar_undo_it;
-   toolbar_redo_it = eo_do(toolbar, elm_obj_toolbar_item_append("edit-redo", 
"Redo", (Evas_Smart_Cb) _toolbar_item_sel_cb, NULL));
+   eo_do(toolbar, toolbar_redo_it = elm_obj_toolbar_item_append("edit-redo", 
"Redo", (Evas_Smart_Cb) _toolbar_item_sel_cb, NULL));
pub_widgets->toolbar_redo_it = toolbar_redo_it;
-   toolbar_reload_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("view-refresh", "Reload context", (Evas_Smart_Cb) 
_toolbar_item_sel_cb, NULL));
+   eo_do(toolbar, toolbar_reload_it = 
elm_obj_toolbar_item_append("view-refresh", "Reload context", (Evas_Smart_Cb) 
_toolbar_item_sel_cb, NULL));
pub_widgets->toolbar_reload_it = toolbar_reload_it;
-   toolbar_delete_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("edit-delete", "Delete widget", (Evas_Smart_Cb) 
_toolbar_item_sel_cb, NULL));
+   eo_do(toolbar, toolbar_delete_it = 
elm_obj_toolbar_item_append("edit-delete", "Delete widget", (Evas_Smart_Cb) 
_toolbar_item_sel_cb, NULL));
pub_widgets->toolbar_delete_it = toolbar_delete_it;
-   toolbar_view_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("view-restore", "View", NULL, NULL));
+   eo_do(toolbar, toolbar_view_it = 
elm_obj_toolbar_item_append("view-restore", "View", NULL, NULL));
pub_widgets->toolbar_view_it = toolbar_view_it;
-   toolbar_simulate_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("system-run", "Simulate", NULL, NULL));
+   eo_do(toolbar, toolbar_simulate_it = 
elm_obj_toolbar_item_append("system-run", "Simulate", NULL, NULL));
pub_widgets->toolbar_simulate_it = toolbar_simulate_it;
-   toolbar_graph_it = eo_do(toolbar, 
elm_obj_toolbar_item_append("media-playlist-repeat", "Graph", (Evas_Smart_Cb) 
_graphviz_button_clicked_cb, NULL));
+   eo_do(toolbar, toolbar_graph_it = 
elm_obj_toolbar_item_append("media-playlist-repeat", "Graph", (Evas_Smart_Cb) 
_graphviz_button_clicked_cb, NULL));
pub_widgets->toolbar_graph_it = toolbar_graph_it

[EGIT] [tools/erigo] master 01/01: Split factory into sections by widget types

2015-03-30 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=622e57ff34a316b436203c64efc994d40fac5512

commit 622e57ff34a316b436203c64efc994d40fac5512
Author: Yakov Goldberg 
Date:   Sun Mar 29 16:54:50 2015 +0300

Split factory into sections by widget types
---
 src/bin/egui_gui/egui_layout.json | 358 --
 src/bin/egui_gui/egui_logic.c | 196 +++--
 src/lib/database.h|   1 +
 3 files changed, 411 insertions(+), 144 deletions(-)

diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index bb269dc..8692876 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1085,7 +1085,47 @@
 "Evas.Object.size_hint_align":[-1, 0],
 "Evas.Object.visibility":[true]
   },
-  "Contains":["fctr_table"]
+  "Contains":["fctr_table_sep_0", "fctr_table_label_1", 
"fctr_table_sep_1", "fctr_table", "fctr_table_sep_2","fctr_table_label_2", 
"fctr_table_sep_3", "fctr_table_containers", "fctr_table_sep_4", 
"fctr_table_label_3", "fctr_table_sep_5","fctr_table_item_widgets", 
"fctr_table_sep_6", "fctr_table_label_4", "fctr_table_sep_7", "fctr_table_evas"]
+},
+"fctr_table_sep_0":
+{
+  "Desc":
+  {
+"parent":"fctr_scroll_box",
+"class":"Elm_Separator"
+  },
+  "Properties":
+  {
+"Elm_Separator.horizontal":[true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_table_label_1":
+{
+  "Desc":
+  {
+"parent":"fctr_scroll_box",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_align":[0.05, 0],
+"Elm_Widget.part_text":[null, "Widgets"],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_table_sep_1":
+{
+  "Desc":
+  {
+"parent":"fctr_scroll_box",
+"class":"Elm_Separator"
+  },
+  "Properties":
+  {
+"Elm_Separator.horizontal":[true],
+"Evas.Object.visibility":[true]
+  }
 },
 "fctr_table":
 {
@@ -1105,40 +1145,214 @@
   {
 "fctr_win_it":[0, 0, 1, 1],
 "fctr_bg_it":[0, 1, 1, 1],
-"fctr_box_it":[0, 2, 1, 1],
-"fctr_button_it":[0, 3, 1, 1],
-"fctr_label_it":[0, 4, 1, 1],
-"fctr_check_it":[0, 5, 1, 1],
-"fctr_radio_it":[0, 6, 1, 1],
-"fctr_icon_it":[0, 7, 1, 1],
-"fctr_image_it":[0, 8, 1, 1],
-"fctr_actionslider_it":[0, 9, 1, 1],
-"fctr_clock_it":[0, 10, 1, 1],
-"fctr_dayselector_it":[0, 11, 1, 1],
-"fctr_calendar_it":[0, 12, 1, 1],
-"fctr_bubble_it":[0, 13, 1, 1],
-"fctr_colorselector_it":[0, 14, 1, 1],
-"fctr_entry_it":[0, 15, 1, 1],
-"fctr_flip_it":[0, 16, 1, 1],
-"fctr_genlist_it":[0, 17, 1, 1],
-"fctr_gengrid_it":[0, 18, 1, 1],
-"fctr_table_it":[0, 19, 1, 1],
-"fctr_menu_it":[0, 20, 1, 1],
-"fctr_diskselector_it":[0, 21, 1, 1],
-"fctr_ctxpopup_it":[0, 22, 1, 1],
-"fctr_toolbar_it":[0, 23, 1, 1],
-"fctr_layout_it":[0, 24, 1, 1],
-"fctr_naviframe_it":[0, 25, 1, 1],
-"fctr_separator_it":[0, 26, 1, 1],
-"fctr_frame_it":[0, 27, 1, 1],
-"fctr_evas_image_it":[0, 28, 1, 1],
-"fctr_fileselector_it":[0, 29, 1, 1],
-"fctr_fileselector_entry_it":[0, 30, 1, 1],
-"fctr_fileselector_button_it":[0, 31, 1, 1],
-"fctr_slider_it":[0, 32, 1, 1],
-"fctr_progressbar_it":[0, 33, 1, 1],
-"fctr_panes_it":[0, 34, 1, 1],
-"fctr_conformant_it":[0, 35, 1, 1]
+"fctr_button_it":[0, 2, 1, 1],
+"fctr_label_it":[0, 3, 1, 1],
+"fctr_check_it":[0, 4, 1, 1],
+"fctr_radio_it":[0, 5, 1, 1],
+"fctr_icon_it":[0, 6, 1, 1],
+"fctr_image_it":[0, 7, 1, 1],
+"fctr_actionslider_it":[0, 8, 1, 1],
+"fctr_clock_it":[0, 9, 1, 1],
+"fctr_daysel

[EGIT] [tools/erigo] master 02/04: Add support for Elm Panes widget

2015-03-26 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=b0c3c320aa13327252d949a02183efd24c9922dc

commit b0c3c320aa13327252d949a02183efd24c9922dc
Author: Yakov Goldberg 
Date:   Thu Mar 26 13:57:14 2015 +0200

Add support for Elm Panes widget
---
 src/bin/egui_gui/egui_layout.json | 46 ++-
 src/bin/egui_gui/egui_logic.c |  4 
 src/lib/database.h|  1 +
 3 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index d6e1789..67041ea 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1136,7 +1136,8 @@
 "fctr_fileselector_entry_it":[0, 30, 1, 1],
 "fctr_fileselector_button_it":[0, 31, 1, 1],
 "fctr_slider_it":[0, 32, 1, 1],
-"fctr_progressbar_it":[0, 33, 1, 1]
+"fctr_progressbar_it":[0, 33, 1, 1],
+"fctr_panes_it":[0, 34, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2601,6 +2602,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_panes_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_panes_image", "fctr_panes_label"]
+},
+"fctr_panes_image":
+{
+  "Desc":
+  {
+"parent":"fctr_panes_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_panes_label":
+{
+  "Desc":
+  {
+"parent":"fctr_panes_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Panes"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 18651bc..0ae690f 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -797,6 +797,8 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_button_it, 0, 31, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 0, 32, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_progressbar_it, 0, 33, 1, 1);
+
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_panes_it, 0, 34, 1, 1);
  }
else
  {
@@ -848,6 +850,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 0, 11, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_progressbar_it, 1, 11, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_panes_it, 2, 11, 1, 1);
  }
 }
 
@@ -1050,6 +1053,7 @@ egui_start()
_factory_item_finalize(g_main_wdgs->main_win->fctr_fileselector_button_it, 
"factory_image.png", DB_DEF_FILESELECTOR_BUTTON_CLASS, EINA_TRUE);
_factory_item_finalize(g_main_wdgs->main_win->fctr_slider_it, 
"factory_image.png", DB_DEF_SLIDER_CLASS, EINA_TRUE);
_factory_item_finalize(g_main_wdgs->main_win->fctr_progressbar_it, 
"factory_image.png", DB_DEF_PROGRESSBAR_CLASS, EINA_TRUE);
+   _factory_item_finalize(g_main_wdgs->main_win->fctr_panes_it, 
"factory_image.png", DB_DEF_PANES_CLASS, EINA_TRUE);
 
/*FIXME: Need to unpack inline image, so pass it into delete callback*/
evas_object_smart_callback_add(g_main_wdgs->main_win->main_win, 
"delete,request", _main_win_del_cb, NULL);
diff --git a/src/lib/database.h b/src/lib/database.h
index 3ca8248..b5fa12a 100644
--- a/src/lib/database.h
+++ b/src/lib/database.h
@@ -118,6 +118,7 @@ typedef struct _Container_Desc Container_Desc;
 #define DB_DEF_FILESELECTOR_BUTTON_CLASS "Elm_Fileselector_Button"
 #define DB_DEF_SLIDER_CLASS "Elm_Slider"
 #define DB_DEF_PROGRESSBAR_CLASS "Elm_Progressbar"
+#define DB_DEF_PANES_CLASS "Elm_Panes"
 
 #define VISIBILITY_SET "visibility"
 #define SIZE_SET "size"

-- 




[EGIT] [tools/erigo] master 03/04: Add support for Elm Conformant widget

2015-03-26 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=b0176f5152e8f3c27f6593cbe9f09afe57689d8e

commit b0176f5152e8f3c27f6593cbe9f09afe57689d8e
Author: Yakov Goldberg 
Date:   Thu Mar 26 17:22:56 2015 +0200

Add support for Elm Conformant widget
---
 data/config/egui_all.eo   |  2 +-
 src/bin/egui_gui/egui_layout.json | 46 ++-
 src/bin/egui_gui/egui_logic.c |  4 
 src/lib/database.h|  1 +
 4 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/data/config/egui_all.eo b/data/config/egui_all.eo
index fa8f19e..bbe56bb 100644
--- a/data/config/egui_all.eo
+++ b/data/config/egui_all.eo
@@ -1,3 +1,3 @@
-class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
+class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
 {
 }
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index 67041ea..bb269dc 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1137,7 +1137,8 @@
 "fctr_fileselector_button_it":[0, 31, 1, 1],
 "fctr_slider_it":[0, 32, 1, 1],
 "fctr_progressbar_it":[0, 33, 1, 1],
-"fctr_panes_it":[0, 34, 1, 1]
+"fctr_panes_it":[0, 34, 1, 1],
+"fctr_conformant_it":[0, 35, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2645,6 +2646,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_conformant_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_conformant_image", "fctr_conformant_label"]
+},
+"fctr_conformant_image":
+{
+  "Desc":
+  {
+"parent":"fctr_conformant_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_conformant_label":
+{
+  "Desc":
+  {
+"parent":"fctr_conformant_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Conformant"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 0ae690f..84dcef2 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -799,6 +799,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_progressbar_it, 0, 33, 1, 1);
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_panes_it, 0, 34, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_conformant_it, 0, 35, 1, 1);
  }
else
  {
@@ -851,6 +852,8 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 0, 11, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_progressbar_it, 1, 11, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_panes_it, 2, 11, 1, 1);
+
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main

[EGIT] [tools/erigo] master 01/04: Fix adding Progressbar widget

2015-03-26 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=370281e958deba74b5e40c78de11ae67eeda2fde

commit 370281e958deba74b5e40c78de11ae67eeda2fde
Author: Yakov Goldberg 
Date:   Thu Mar 26 13:50:51 2015 +0200

Fix adding Progressbar widget
---
 src/bin/egui_gui/egui_logic.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 64b3cd6..18651bc 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -796,7 +796,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_button_it, 0, 31, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 0, 32, 1, 1);
-elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 0, 33, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_progressbar_it, 0, 33, 1, 1);
  }
else
  {
@@ -847,6 +847,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 2, 10, 1, 1);
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_slider_it, 0, 11, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_progressbar_it, 1, 11, 1, 1);
  }
 }
 

-- 




[EGIT] [tools/erigo] master 04/04: Fix Objtree reloading on Undo/Redo

2015-03-26 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=71b96733aa96f997a83af20236c54a6e6a984c82

commit 71b96733aa96f997a83af20236c54a6e6a984c82
Author: Yakov Goldberg 
Date:   Thu Mar 26 17:48:06 2015 +0200

Fix Objtree reloading on Undo/Redo
---
 src/bin/egui_gui/editor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 4cbc6c2..9ced969 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -2540,7 +2540,7 @@ _update_widget_on_undoredo(Eid *wdg_id, Eina_Bool state)
wdg = wdg_get(wdg_id);
if (wdg) parent = wdg_main_wdg_get(wdg);
if (parent) _wdg_parent_win_reload(parent);
-   if (wdg) objtree_build(wdg_context_get(wdg));
+   objtree_build(_active_context_get());
objtree_item_selected_set(wdg ? wdg : parent);
_editor_wdg_selected_set(wdg ? wdg : parent);
proplayout_build(wdg ? wdg : parent);

-- 




[EGIT] [tools/erigo] master 01/01: Add support for Elm Progressbar widget

2015-03-25 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=95af7aec86d7aa1566d6559abd7469573ca8b413

commit 95af7aec86d7aa1566d6559abd7469573ca8b413
Author: Yakov Goldberg 
Date:   Wed Mar 25 19:15:32 2015 +0200

Add support for Elm Progressbar widget
---
 data/config/black_list.json   |  3 ++-
 data/config/egui_all.eo   |  2 +-
 src/bin/egui_gui/egui_layout.json | 46 ++-
 src/bin/egui_gui/egui_logic.c |  4 
 src/lib/database.h|  1 +
 5 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/data/config/black_list.json b/data/config/black_list.json
index 9c241aa..f407060 100644
--- a/data/config/black_list.json
+++ b/data/config/black_list.json
@@ -45,5 +45,6 @@
"Elm_Box":["layout"],
"Elm_Win": 
["illume_command_send","wm_available_rotations","available_profiles","keyboard_mode","indicator_opacity","indicator_mode","trap_data","fake_canvas"],
"Elm_Bg":["option"],
-   "Elm_Slider":["indicator_visible_mode", "indicator_format_function", 
"units_format_function"]
+   "Elm_Slider":["indicator_visible_mode", "indicator_format_function", 
"units_format_function"],
+   "Elm_Progressbar":["unit_format_function"]
 }
diff --git a/data/config/egui_all.eo b/data/config/egui_all.eo
index b678ecc..fa8f19e 100644
--- a/data/config/egui_all.eo
+++ b/data/config/egui_all.eo
@@ -1,3 +1,3 @@
-class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
+class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
 {
 }
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index 47c2a30..d6e1789 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1135,7 +1135,8 @@
 "fctr_fileselector_it":[0, 29, 1, 1],
 "fctr_fileselector_entry_it":[0, 30, 1, 1],
 "fctr_fileselector_button_it":[0, 31, 1, 1],
-"fctr_slider_it":[0, 32, 1, 1]
+"fctr_slider_it":[0, 32, 1, 1],
+"fctr_progressbar_it":[0, 33, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2557,6 +2558,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_progressbar_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_progressbar_image", "fctr_progressbar_label"]
+},
+"fctr_progressbar_image":
+{
+  "Desc":
+  {
+"parent":"fctr_progressbar_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_progressbar_label":
+{
+  "Desc":
+  {
+"parent":"fctr_progressbar_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Progress Bar"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 384f194..64b3cd6 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -796,6 +796,7 @@ _factory_vertical_pack(Eina_Boo

[EGIT] [tools/erigo] master 02/02: Fix crash

2015-03-25 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=3adc9e02922e665d746676ec5e61213e3fd0b1bc

commit 3adc9e02922e665d746676ec5e61213e3fd0b1bc
Author: Yakov Goldberg 
Date:   Wed Mar 25 17:58:18 2015 +0200

Fix crash

Default(not set by user) property's item has NULL pointer.
---
 src/bin/egui_gui/propview.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/propview.c b/src/bin/egui_gui/propview.c
index 38e1292..271f9f6 100644
--- a/src/bin/egui_gui/propview.c
+++ b/src/bin/egui_gui/propview.c
@@ -430,7 +430,7 @@ propview_item_selected_set(const Op_Desc *op_desc)
   continue;
 
 It_Data *it_data = elm_object_item_data_get(it);
-if (prop_op_desc_get(it_data->prop) == op_desc)
+if ((it_data->prop) && (prop_op_desc_get(it_data->prop) == op_desc))
   {
  elm_genlist_item_selected_set(it, EINA_TRUE);
  elm_genlist_item_bring_in(it, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);

-- 




[EGIT] [tools/erigo] master 01/02: Add support for Elm Slider widget

2015-03-25 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=d1866ed4f252058e836c3d8b73460758fa40aacb

commit d1866ed4f252058e836c3d8b73460758fa40aacb
Author: Yakov Goldberg 
Date:   Wed Mar 25 16:46:28 2015 +0200

Add support for Elm Slider widget
---
 data/config/black_list.json   |  3 ++-
 data/config/egui_all.eo   |  2 +-
 src/bin/egui_gui/egui_layout.json | 46 ++-
 src/bin/egui_gui/egui_logic.c |  4 
 src/lib/database.h|  1 +
 5 files changed, 53 insertions(+), 3 deletions(-)

diff --git a/data/config/black_list.json b/data/config/black_list.json
index ba52da8..9c241aa 100644
--- a/data/config/black_list.json
+++ b/data/config/black_list.json
@@ -44,5 +44,6 @@
"Elm_Ctxpopup":["direction_priority"],
"Elm_Box":["layout"],
"Elm_Win": 
["illume_command_send","wm_available_rotations","available_profiles","keyboard_mode","indicator_opacity","indicator_mode","trap_data","fake_canvas"],
-   "Elm_Bg":["option"]
+   "Elm_Bg":["option"],
+   "Elm_Slider":["indicator_visible_mode", "indicator_format_function", 
"units_format_function"]
 }
diff --git a/data/config/egui_all.eo b/data/config/egui_all.eo
index 9789ba9..b678ecc 100644
--- a/data/config/egui_all.eo
+++ b/data/config/egui_all.eo
@@ -1,3 +1,3 @@
-class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
+class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
 {
 }
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index a81bc90..47c2a30 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1134,7 +1134,8 @@
 "fctr_evas_image_it":[0, 28, 1, 1],
 "fctr_fileselector_it":[0, 29, 1, 1],
 "fctr_fileselector_entry_it":[0, 30, 1, 1],
-"fctr_fileselector_button_it":[0, 31, 1, 1]
+"fctr_fileselector_button_it":[0, 31, 1, 1],
+"fctr_slider_it":[0, 32, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2513,6 +2514,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_slider_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_slider_image", "fctr_slider_label"]
+},
+"fctr_slider_image":
+{
+  "Desc":
+  {
+"parent":"fctr_slider_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_slider_label":
+{
+  "Desc":
+  {
+"parent":"fctr_slider_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Slider"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 0a4795e..384f194 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -793,7 +793,9 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_evas_image_it, 0, 

[EGIT] [tools/erigo] master 01/01: Add memo bubble to properties which require Activate

2015-03-24 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=ea9ebdf2dd84ad93a563fb9a2032038371526991

commit ea9ebdf2dd84ad93a563fb9a2032038371526991
Author: Yakov Goldberg 
Date:   Mon Mar 23 16:06:15 2015 +0200

Add memo bubble to properties which require Activate

Some entries in Description/Property/COntent Views require user to press 
Enter to apply
changes. This patch provides memo bubble for such cases.
---
 src/bin/egui_gui/contentview.c  |  1 +
 src/bin/egui_gui/descview.c |  3 ++-
 src/bin/egui_gui/itemview.c |  1 +
 src/bin/egui_gui/props_helper.c | 41 +
 src/bin/egui_gui/props_helper.h |  4 
 5 files changed, 49 insertions(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/contentview.c b/src/bin/egui_gui/contentview.c
index ed11cc8..1ecdd32 100644
--- a/src/bin/egui_gui/contentview.c
+++ b/src/bin/egui_gui/contentview.c
@@ -67,6 +67,7 @@ _content_item_content_get(It_Data *it_data)
  else
{
   eo_do(obj, eo_event_callback_add(ELM_ENTRY_EVENT_ACTIVATED, 
_contentview_cbs->content_change_cb_func, NULL));
+  prop_memo_bubble_add(obj, "Press Enter to apply changes");
}
   }
 else
diff --git a/src/bin/egui_gui/descview.c b/src/bin/egui_gui/descview.c
index 8590d0e..cbe4da5 100644
--- a/src/bin/egui_gui/descview.c
+++ b/src/bin/egui_gui/descview.c
@@ -77,7 +77,8 @@ _description_item_content_get(It_Data *it_data)
else if (!strcmp(it_data->desc, DB_DEF_NAME))
  {
 Eo *entry = props_entry_add(box, wdg_name_get(it_data->wdg), 
GUI_TYPE_STRING);
-eo_do (entry, eo_event_callback_add(ELM_ENTRY_EVENT_ACTIVATED, 
_wdg_name_change_cb, it_data->wdg));
+eo_do(entry, eo_event_callback_add(ELM_ENTRY_EVENT_ACTIVATED, 
_wdg_name_change_cb, it_data->wdg));
+prop_memo_bubble_add(entry, "Press Enter to apply changes");
 elm_object_tooltip_text_set(entry, "Widget name");
  }
else if (!strcmp(it_data->desc, DB_DEF_CLASS))
diff --git a/src/bin/egui_gui/itemview.c b/src/bin/egui_gui/itemview.c
index cb02400..a5c7c56 100644
--- a/src/bin/egui_gui/itemview.c
+++ b/src/bin/egui_gui/itemview.c
@@ -99,6 +99,7 @@ _item_list_content_get(void *data, Evas_Object *obj 
EINA_UNUSED, const char *par
  else
{
   eo_do(o, eo_event_callback_add(ELM_ENTRY_EVENT_ACTIVATED, 
_view_cbs->item_update_cb_func, NULL));
+  prop_memo_bubble_add(o, "Press Enter to apply changes");
}
   }
 else
diff --git a/src/bin/egui_gui/props_helper.c b/src/bin/egui_gui/props_helper.c
index 7c2961a..5bb5af5 100644
--- a/src/bin/egui_gui/props_helper.c
+++ b/src/bin/egui_gui/props_helper.c
@@ -564,3 +564,44 @@ props_value_add(Eo *box, const Gui_Widget *wdg, const 
Gui_Value *value, const Op
return new_obj;
 }
 
+
+/* Callback deletes a bubble when object is unfocused. */
+static Eina_Bool
+_unfocused_cb(void *data, Eo *obj, const Eo_Event_Description *desc 
EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Eo *bubble = data;
+   eo_do(obj, eo_event_callback_del(ELM_LAYOUT_EVENT_UNFOCUSED, _unfocused_cb, 
bubble));
+   eo_del(bubble);
+   return EO_CALLBACK_CONTINUE;
+}
+
+/* Callback creates a bubble when object is focused. */
+static Eina_Bool
+_focused_cb(void *data, Eo *obj, const Eo_Event_Description *desc EINA_UNUSED, 
void *event_info EINA_UNUSED)
+{
+   Evas_Coord x ,y;
+
+   Eo *lbl = elm_label_add(obj);
+   eo_do(lbl, elm_obj_widget_part_text_set(NULL, data));
+   eo_do(lbl, evas_obj_visibility_set(EINA_TRUE));
+
+   Eo *bubble = elm_bubble_add(obj);
+   eo_do(obj, evas_obj_position_get(&x, &y));
+
+   eo_do(bubble, elm_obj_container_content_set(NULL, lbl));
+   eo_do(bubble, evas_obj_size_set(170, 45));
+   eo_do(bubble, evas_obj_color_set(255, 255, 0, 255));
+   eo_do(bubble, evas_obj_position_set(x, y - 35));
+   eo_do(bubble, evas_obj_visibility_set(EINA_TRUE));
+   eo_do(bubble, elm_obj_bubble_pos_set(ELM_BUBBLE_POS_BOTTOM_LEFT));
+
+   eo_do(obj, eo_event_callback_add(ELM_LAYOUT_EVENT_UNFOCUSED, _unfocused_cb, 
bubble));
+   return EO_CALLBACK_CONTINUE;
+}
+
+void
+prop_memo_bubble_add(Eo *obj, const char *memo)
+{
+   eo_do(obj, eo_event_callback_add(ELM_LAYOUT_EVENT_FOCUSED, _focused_cb, 
memo));
+}
+
diff --git a/src/bin/egui_gui/props_helper.h b/src/bin/egui_gui/props_helper.h
index b1f7b73..f3546f1 100644
--- a/src/bin/egui_gui/props_helper.h
+++ b/src/bin/egui_gui/props_helper.h
@@ -130,4 +130,8 @@ void*
 _mempool_cache_data_get(const char *key);
 void
 _mempool_cache_data_put(const char *key, void *ptr);
+
+/* API to add and show/hide memo bubble when object is focused/unfocused. */
+void
+prop_memo_bubble_add(Eo *obj, const char *memo);
 #endif

-- 




[EGIT] [tools/erigo] master 03/03: Fix image paths

2015-03-24 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=205753e770104a5c4c1a06fe4b989f675bf913a0

commit 205753e770104a5c4c1a06fe4b989f675bf913a0
Author: Yakov Goldberg 
Date:   Tue Mar 24 15:17:54 2015 +0200

Fix image paths
---
 src/bin/egui_gui/editor.c | 5 +
 src/bin/egui_gui/egui_logic.c | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 825cbe1..4cbc6c2 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -1378,9 +1378,6 @@ _table_borders_draw(Eo *table, int w, int h, Eina_List 
**_border_objects)
 {
Eina_List *border_objects = *_border_objects;
int i = 0, j = 0;
-   char path[100];
-   getcwd(path, sizeof(path));
-   sprintf(path, "%s/data/images/table_cell_border.png", path);
Eo *o;
EINA_LIST_FREE(border_objects, o)
  {
@@ -1396,7 +1393,7 @@ _table_borders_draw(Eo *table, int w, int h, Eina_List 
**_border_objects)
  eo_do(o, evas_obj_size_hint_weight_set(EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND),
evas_obj_size_hint_align_set(EVAS_HINT_FILL, 
EVAS_HINT_FILL),
evas_obj_visibility_set(EINA_TRUE),
-   efl_file_set(path, NULL));
+   
efl_file_set(EGUI_LAYOUT_IMAGES_PATH"/table_cell_border.png", NULL));
  eo_do(table, elm_obj_table_pack(o, i, j, 1, 1));
  border_objects = eina_list_append(border_objects, o);
   }
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 9ff2ae2..0a4795e 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -735,7 +735,7 @@ _factory_item_finalize(Eo *item_box, char *image_name, 
const char *egui_class_na
// update of the image icon
Eo *o = eina_list_data_get(lst);
char path[100] = {'\0'};
-   sprintf(path, "%s/images/%s", PACKAGE_DATA_DIR, image_name);
+   sprintf(path, "%s/%s", EGUI_LAYOUT_IMAGES_PATH, image_name);
eo_do(o, efl_file_set(path, NULL));
drag_add(item_box, drag_image ? o : NULL, egui_class_name);
 

-- 




[EGIT] [tools/erigo] master 01/03: Clean up: remove unused code.

2015-03-24 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=9b7be14ebe6743668f5babfd1631459f2f63859a

commit 9b7be14ebe6743668f5babfd1631459f2f63859a
Author: Yakov Goldberg 
Date:   Tue Mar 24 13:26:17 2015 +0200

Clean up: remove unused code.
---
 src/bin/egui_gui/editor.c |  7 +--
 src/lib/database.c| 12 
 src/lib/database.h|  3 +--
 src/lib/ffi_glue.c|  9 -
 src/lib/ffi_glue.h|  4 
 5 files changed, 6 insertions(+), 29 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 61eb42e..c501ba6 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -3998,7 +3998,6 @@ _content_change_from_propview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_De
  {
 const char *entry_data;
 eo_do(obj, entry_data = elm_obj_layout_text_get(NULL));
-Gui_Session *session = (Gui_Session *) 
gui_context_editor_session_get(ctx);
 
 /* Run CONTENT_PACK for table in order to reset with new coordinates. 
*/
 if (!strcmp(container_class_name, DB_DEF_TABLE_CLASS))
@@ -4019,7 +4018,11 @@ _content_change_from_propview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_De
 
  ci = obj_container_item_new(new_prop, eid);
  wdg_obj_container_item_add((Gui_Widget *) wdg, ci, 
pfd->it_data->idx);
- manager_widget_content_reset(session, wdg, new_prop, MODE_EDITOR, 
NULL);
+
+ _wdg_parent_win_reload(wdg);
+ _editor_wdg_selected_set(wdg);
+ objtree_build(ctx);
+ objtree_item_selected_set(wdg);
   }
 
 if (!strcmp(container_class_name, DB_DEF_CONTAINER_CLASS))
diff --git a/src/lib/database.c b/src/lib/database.c
index 0e246fa..e8b7b46 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -47,7 +47,6 @@ struct _Op_Desc
 struct _Container_Desc
 {
Op_Desc *_op_pack;
-   Op_Desc *_op_repack;
Op_Desc *_op_unpack;
Op_Desc *_op_unpack_all;
 };
@@ -672,7 +671,6 @@ _op_settings_init(const char *db_path)
eina_hash_add(container_typedef_table, "CONTAINER_PACK", (void *) 
(uintptr_t) CONTAINER_PACK);
eina_hash_add(container_typedef_table, "CONTAINER_UNPACK", (void *) 
(uintptr_t) CONTAINER_UNPACK);
eina_hash_add(container_typedef_table, "CONTAINER_UNPACK_ALL", (void *) 
(uintptr_t) CONTAINER_UNPACK_ALL);
-   eina_hash_add(container_typedef_table, "CONTAINER_REPACK", (void *) 
(uintptr_t) CONTAINER_REPACK);
 
/* Get JSON object from DB by path. */
jv = _db_json_object_get(db_path);
@@ -1142,11 +1140,6 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
   container_desc->_op_pack = op_desc;
   break;
}
-  case CONTAINER_REPACK:
-   {
-  container_desc->_op_repack = op_desc;
-  break;
-   }
   case CONTAINER_UNPACK:
{
   container_desc->_op_unpack = op_desc;
@@ -1633,11 +1626,6 @@ db_container_desc_op_desc_get(const Container_Desc 
*container_desc, Container_Be
   ret = container_desc->_op_pack;
   break;
}
-  case CONTAINER_REPACK:
-   {
-  ret = container_desc->_op_repack;
-  break;
-   }
   case CONTAINER_UNPACK:
{
   ret = container_desc->_op_unpack;
diff --git a/src/lib/database.h b/src/lib/database.h
index 16e61e8..337bbef 100644
--- a/src/lib/database.h
+++ b/src/lib/database.h
@@ -23,8 +23,7 @@ typedef enum
CONTAINER_NONE,
CONTAINER_PACK,
CONTAINER_UNPACK,
-   CONTAINER_UNPACK_ALL,
-   CONTAINER_REPACK,
+   CONTAINER_UNPACK_ALL
 } Container_Behavior_Type;
 
 /* Add all int types before GUI_TYPE_OBJECT, because of typechecking*/
diff --git a/src/lib/ffi_glue.c b/src/lib/ffi_glue.c
index 5ee215c..a1163af 100644
--- a/src/lib/ffi_glue.c
+++ b/src/lib/ffi_glue.c
@@ -182,15 +182,6 @@ manager_widget_content_unset(Gui_Session *session, const 
Gui_Widget *wdg, const
return ret;
 }
 
-/* Use to update packing of already packed object. Without unpacking it. */
-Eina_Bool
-manager_widget_content_reset(Gui_Session *session, const Gui_Widget 
*container, const Gui_Widget_Property *prop, Action_Mode mode EINA_UNUSED, void 
*data EINA_UNUSED)
-{
-   const Op_Desc *op_desc = 
db_container_desc_op_desc_get(db_container_desc_get(wdg_class_name_get(container)),
 CONTAINER_REPACK);
-   Eina_Bool ret = _ffi_eo_do_content(session, container, prop, op_desc, NULL);
-   return ret;
-}
-
 /* this actually "soft" unset. It unpacks only Eo objects, and doesn't affect 
internal widget dependanci

[EGIT] [tools/erigo] master 02/03: Fix warning messages

2015-03-24 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=001a109ba71ae82697369cfb9e73a3be51fbc67e

commit 001a109ba71ae82697369cfb9e73a3be51fbc67e
Author: Yakov Goldberg 
Date:   Tue Mar 24 15:04:35 2015 +0200

Fix warning messages
---
 src/bin/egui_gui/dnd.c |  2 +-
 src/bin/egui_gui/editor.c  | 13 +++--
 src/bin/egui_gui/prop_layout.c |  2 +-
 src/bin/egui_gui/rmview.c  |  8 +++-
 src/bin/main.c |  4 +---
 src/lib/gui_parser.c   |  2 +-
 src/lib/gui_widget.c   |  4 ++--
 7 files changed, 16 insertions(+), 19 deletions(-)

diff --git a/src/bin/egui_gui/dnd.c b/src/bin/egui_gui/dnd.c
index 9519c0a..efd6f8b 100644
--- a/src/bin/egui_gui/dnd.c
+++ b/src/bin/egui_gui/dnd.c
@@ -535,7 +535,7 @@ drag_stop()
 static Target_Info*
 _target_info_new(Gui_Widget *wdg, Eo *obj)
 {
-   Target_Info *ti;
+   Target_Info *ti = NULL;
 
if (wdg)
  {
diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index c501ba6..825cbe1 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -1186,7 +1186,8 @@ _edc_file_updated(void *data, Ecore_File_Monitor *em 
EINA_UNUSED, Ecore_File_Eve
   eina_strbuf_append_printf(strbuf, " -dd %s/data", path);
 
   remove(resource_value_get(res));
-  system(eina_strbuf_string_get(strbuf));
+  int sys_ret = system(eina_strbuf_string_get(strbuf));
+  (void) sys_ret;
   eina_strbuf_free(strbuf);
   /* we update the observers only if the invocation is from the 
system and not from _widget_prop_add */
   if (file_path) observers_invoke(resource_eid_get(res));
@@ -1409,7 +1410,7 @@ _drop_target_main_wdg_enter(void *data, Evas_Object *obj)
Eo *canvas_drop_target = obj;
Eo *canvas = NULL;
Gui_Widget *wdg = data;
-   DnD_Info *di;
+   DnD_Info *di = NULL;
/* If wdg == NULL, then canvas is a drop target or we have a error.*/
if (wdg)
  {
@@ -1455,7 +1456,7 @@ _drop_target_main_wdg_leave(void *data, Evas_Object *obj)
 {
Gui_Widget *wdg = data;
Eo *canvas_drop_target = obj;
-   DnD_Info *di;
+   DnD_Info *di = NULL;
if (wdg)
  {
 di = wdg_data_get(wdg, EDITOR_DND_DATA);
@@ -1592,7 +1593,7 @@ _drop_target_drop(void *data, Evas_Object *obj, 
Elm_Selection_Data *ev)
 {
Gui_Widget *wdg = data;
Eo *canvas_drop_target = obj;
-   DnD_Info *di;
+   DnD_Info *di = NULL;
_wdg_border_draw(NULL, EINA_FALSE, BORDER_DROP_TARGET);
if (wdg)
  {
@@ -1998,8 +1999,8 @@ _drop_target_pos(void *data, Eo *obj, Evas_Coord x, 
Evas_Coord y, Elm_Xdnd_Actio
 {
Eo *canvas_drop_target = obj;
Gui_Widget *wdg = data;
-   DnD_Info *di;
-   Eo *wdg_eo;
+   DnD_Info *di = NULL;
+   Eo *wdg_eo = NULL;
Evas_Coord obj_x = 0, obj_y = 0;
/* If wdg == NULL, then canvas is a drop target or we have a error.*/
if (wdg)
diff --git a/src/bin/egui_gui/prop_layout.c b/src/bin/egui_gui/prop_layout.c
index 317f0e9..e0a6dd5 100644
--- a/src/bin/egui_gui/prop_layout.c
+++ b/src/bin/egui_gui/prop_layout.c
@@ -234,7 +234,7 @@ _proplayout_toolbar_clicked(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED
 void
 proplayout_view_switch(It_Data_Type type)
 {
-   Elm_Object_Item *it;
+   Elm_Object_Item *it = NULL;
Egui_Layout_Widgets *g = egui_layout_gui_get();
switch (type)
  {
diff --git a/src/bin/egui_gui/rmview.c b/src/bin/egui_gui/rmview.c
index ae5b8ac..77663f2 100644
--- a/src/bin/egui_gui/rmview.c
+++ b/src/bin/egui_gui/rmview.c
@@ -363,7 +363,7 @@ _rmview_build(Rmview_Resource_Type type)
Gui_Context *ctx = _active_context_get();
Eo *label, *en, *bt;
const char *header1 = NULL, *header2 = NULL;
-   Gui_Resource_Type type_start, type_end, type_itr;
+   Gui_Resource_Type type_start = RESOURCE_SENTINEL, type_end = 
RESOURCE_SENTINEL, type_itr;
eo_do(g_rm_win->rm_table, elm_obj_table_clear(EINA_TRUE));
 
switch (type)
@@ -635,7 +635,7 @@ _rmview_toolbar_clicked(void *data, Evas_Object *obj 
EINA_UNUSED, void *event_in
 Eina_Bool
 _rm_add_button_clicked(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
-   Gui_Resource_Type res_type;
+   Gui_Resource_Type res_type = RESOURCE_SENTINEL;
const char *alias_str = NULL, *value_str = NULL;
const Gui_Context *ctx = _active_context_get();
eo_do(g_rm_win->rm_alias_entry, alias_str = 
elm_obj_widget_part_text_get(NULL));
@@ -649,8 +649,6 @@ _rm_add_button_clicked(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Eve
 return EO_CALLBACK_CONTINUE;
  }
 
-   Gui_Resource *gui_res;
-
switch (_rmview_toolbar_selected_type)
  {
   case RMVIEW_IMAGE:
@@ -701,7 +699,7 @@ _rm_add_button_clicked(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Eve
   return EO_CALLBACK_CONTINUE;
  }
 
-   gui_res = gui_context_resource_new((Gu

[EGIT] [tools/erigo] master 01/01: Fix typo in event name

2015-03-23 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=575a8ae7fbc4061463c8faf50b125963d53e382e

commit 575a8ae7fbc4061463c8faf50b125963d53e382e
Author: Yakov Goldberg 
Date:   Mon Mar 23 16:07:21 2015 +0200

Fix typo in event name
---
 src/bin/egui_gui/descview.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/descview.c b/src/bin/egui_gui/descview.c
index caeeb06..8590d0e 100644
--- a/src/bin/egui_gui/descview.c
+++ b/src/bin/egui_gui/descview.c
@@ -71,7 +71,7 @@ _description_item_content_get(It_Data *it_data)
if (!strcmp(it_data->desc, DB_DEF_PUBLIC))
  {
 Eo *ck = props_check_add(box, wdg_public_get(it_data->wdg));
-eo_do (ck, eo_event_callback_add(ELM_ENTRY_EVENT_CHANGED, 
_wdg_public_change_cb, it_data->wdg));
+eo_do(ck, eo_event_callback_add(ELM_CHECK_EVENT_CHANGED, 
_wdg_public_change_cb, it_data->wdg));
 elm_object_tooltip_text_set(ck, "Check to make widget accissible from 
code");
  }
else if (!strcmp(it_data->desc, DB_DEF_NAME))

-- 




[EGIT] [tools/erigo] master 04/04: Handle default value for Efl.File in Property View

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=355011d0ab23017887494be284c95beae6ccc403

commit 355011d0ab23017887494be284c95beae6ccc403
Author: Yakov Goldberg 
Date:   Thu Mar 19 18:13:08 2015 +0200

Handle default value for Efl.File in Property View
---
 src/bin/egui_gui/props_helper.c | 23 +++
 src/bin/egui_gui/props_helper.h |  1 +
 src/lib/ffi_abstraction.c   |  7 +++
 3 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/bin/egui_gui/props_helper.c b/src/bin/egui_gui/props_helper.c
index 3e913ad..7c2961a 100644
--- a/src/bin/egui_gui/props_helper.c
+++ b/src/bin/egui_gui/props_helper.c
@@ -103,7 +103,15 @@ _prop_field_update(const Gui_Widget_Property *prop, Eo 
*item_box, It_Data *it_da
Eid *eid = EID_ID_GET(prop_value_nth_get(prop, i));
const char *default_str = PROP_HOVERSEL_NONE_VALUE;
if (IS_ID_VALID(eid))
- default_str = eid_name_get(eid);
+ {
+default_str = eid_name_get(eid);
+ }
+   /* Eid == DUMMY_ID, means that value was fetched by 
eo_do(_get()),
+* so set DEFAULT str. */
+   else if (eid == DUMMY_ID)
+ {
+default_str = DEFAULT_RESOURCE;
+ }
eo_do(o, elm_obj_widget_part_text_set(NULL, default_str));
break;
 }
@@ -528,10 +536,17 @@ props_value_add(Eo *box, const Gui_Widget *wdg, const 
Gui_Value *value, const Op
   if (value)
 {
Eid *eid = EID_ID_GET(value);
-   if (eid) default_str = eid_name_get(eid);
-   if (!default_str)
+   if (IS_ID_VALID(eid))
+ {
+default_str = eid_name_get(eid);
+if (!default_str)
+  ERR("Looks like resource image was deleted. Handle 
this.");
+ }
+   /* Eid == DUMMY_ID, means that value was fetched by 
eo_do(_get()),
+* so set DEFAULT str. */
+   else if (eid == DUMMY_ID)
  {
-ERR("Looks like resource image was deleted. Handle 
this.");
+default_str = DEFAULT_RESOURCE;
  }
 }
 
diff --git a/src/bin/egui_gui/props_helper.h b/src/bin/egui_gui/props_helper.h
index 866e0c7..b1f7b73 100644
--- a/src/bin/egui_gui/props_helper.h
+++ b/src/bin/egui_gui/props_helper.h
@@ -6,6 +6,7 @@
 #include "egui_layout.h"
 
 #define PROP_HOVERSEL_NONE_VALUE "   "
+#define DEFAULT_RESOURCE "DEFAULT"
 
 /* pass Gui_Widget or Item_Container_Item */
 #define IT_DATA_BUILD(type_v, wi) \
diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c
index 5b114a0..6c80afa 100644
--- a/src/lib/ffi_abstraction.c
+++ b/src/lib/ffi_abstraction.c
@@ -257,6 +257,13 @@ _ffi_eo_do_get(const Gui_Session *session, const 
Gui_Widget *wdg, const Gui_Widg
   {
  gui_value_string_set(gui_value, STRING_GET(gui_value));
   }
+/* In case of File, const char * is returned, and Erigo uses Resource 
ID.
+ * If path is not NULL, we can not translate it into Resource, so 
assign DUMMY. */
+else if (gv_type == GUI_TYPE_FILE)
+  {
+ if (EID_ID_GET(gui_value))
+   gui_value_name_id_set(gui_value, gv_type, DUMMY_ID);
+  }
 i++;
  }
 

-- 




[EGIT] [tools/erigo] master 01/04: Don't show methods and get properties in PropView

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=37be20ea3e50259e5f5e593962c03d420d8de082

commit 37be20ea3e50259e5f5e593962c03d420d8de082
Author: Yakov Goldberg 
Date:   Mon Mar 16 19:08:44 2015 +0200

Don't show methods and get properties in PropView
---
 src/bin/egui_gui/propview.c | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/src/bin/egui_gui/propview.c b/src/bin/egui_gui/propview.c
index f15c829..bbc0400 100644
--- a/src/bin/egui_gui/propview.c
+++ b/src/bin/egui_gui/propview.c
@@ -245,6 +245,25 @@ _props_classname_table_expand(const Gui_Widget *wdg, const 
char *classname, Elm_
 It_Data *it_data;
 
 if (db_op_desc_is_container(op)) continue;
+switch (db_op_desc_type_get(op))
+  {
+ /* Don't show these types of properties. */
+   case EOLIAN_UNRESOLVED:
+   case EOLIAN_METHOD:
+   case EOLIAN_PROP_GET:
+{
+   continue;
+}
+   case EOLIAN_PROPERTY:
+   case EOLIAN_PROP_SET:
+{
+   break;
+}
+   default:
+{
+   ERR("Case default");
+}
+  }
 
 const char *op_display_name = db_op_desc_prop_display_name_get(op);
 

-- 




[EGIT] [tools/erigo] master 02/04: Improve Property View

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=ede5bdf9c224690cefb2c47bb4c669e50d41ab60

commit ede5bdf9c224690cefb2c47bb4c669e50d41ab60
Author: Yakov Goldberg 
Date:   Sun Mar 22 18:57:39 2015 +0200

Improve Property View

Don't show class item in property view, if it is empty or its properties
are filtered out.
---
 src/bin/egui_gui/propview.c | 67 +++--
 1 file changed, 46 insertions(+), 21 deletions(-)

diff --git a/src/bin/egui_gui/propview.c b/src/bin/egui_gui/propview.c
index bbc0400..39e5eb3 100644
--- a/src/bin/egui_gui/propview.c
+++ b/src/bin/egui_gui/propview.c
@@ -233,6 +233,7 @@ _props_classname_table_expand(const Gui_Widget *wdg, const 
char *classname, Elm_
Eina_List *l1 = NULL;
Eina_List *l2 = NULL;
Op_Desc *op;
+   Eina_Bool ret = EINA_FALSE;
 
const char *filter = _filter_string_get();
 
@@ -290,8 +291,11 @@ _props_classname_table_expand(const Gui_Widget *wdg, const 
char *classname, Elm_
   ELM_GENLIST_ITEM_NONE, NULL, NULL);
  /* map current item with its prop name. */
  eina_hash_add(op_item_table, db_op_desc_op_name_full_get(op), 
it_data);
+ ret = EINA_TRUE;
   }
  }
+   /* If no item was added delete parent item. */
+   if (parent && !ret) elm_object_item_del(parent);
 }
 
 static void
@@ -329,31 +333,52 @@ propview_build(const Gui_Widget *wdg)
 Op_Desc *op;
 Eina_List *llst = db_class_op_desc_list_get(kl);
 Eina_List *l = NULL;
+Eina_Bool add_class = EINA_FALSE;
 
+/* iterate over each operation of class. */
 EINA_LIST_FOREACH(llst, l, op)
   {
- // We dont show container properties. So class with at least one 
non-container
- // property is good to show.
- if (!db_op_desc_is_container(op))
+ /* Don't show container properties. */
+ if (db_op_desc_is_container(op)) continue;
+ switch (db_op_desc_type_get(op))
{
-  if (filter)
-{
-   _props_classname_table_expand(wdg, kl, NULL);
-}
-  else
-{
-   Classname_Data *cldata = calloc(1, 
sizeof(Classname_Data));
-   cldata->classname = strdup(kl);
-   cldata->wdg = wdg;
-
-   Elm_Object_Item *glit = 
elm_genlist_item_append(prop_list, _itc_class,
-   cldata, 
NULL,
-   
ELM_GENLIST_ITEM_TREE,
-   NULL, 
NULL);
-   if (eina_hash_find(expanded_classes, kl))
-  elm_genlist_item_expanded_set(glit, EINA_TRUE);
-}
-  break;
+  /* Don't show these types of properties. */
+case EOLIAN_UNRESOLVED:
+case EOLIAN_METHOD:
+case EOLIAN_PROP_GET:
+ {
+continue;
+ }
+case EOLIAN_PROPERTY:
+case EOLIAN_PROP_SET:
+ {
+add_class = EINA_TRUE;
+break;
+ }
+default:
+ {
+ERR("Case default");
+ }
+   }
+  }
+
+if (add_class)
+  {
+
+ Classname_Data *cldata = calloc(1, sizeof(Classname_Data));
+ cldata->classname = strdup(kl);
+ cldata->wdg = wdg;
+
+ Elm_Object_Item *glit = elm_genlist_item_append(prop_list, 
_itc_class,
+ cldata, NULL,
+ 
ELM_GENLIST_ITEM_TREE,
+ NULL, NULL);
+ if (eina_hash_find(expanded_classes, kl))
+   elm_genlist_item_expanded_set(glit, EINA_TRUE);
+
+ if (filter)
+   {
+  elm_genlist_item_expanded_set(glit, EINA_TRUE);
}
   }
  }

-- 




[EGIT] [tools/erigo] master 03/04: Check if GET function was implemented for PROPERTY

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=d8500eb65703ad93a3ac1c0975f5d09fac342d10

commit d8500eb65703ad93a3ac1c0975f5d09fac342d10
Author: Yakov Goldberg 
Date:   Wed Mar 18 11:46:15 2015 +0200

Check if GET function was implemented for PROPERTY
---
 src/bin/egui_gui/propview.c | 21 -
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/propview.c b/src/bin/egui_gui/propview.c
index 39e5eb3..38e1292 100644
--- a/src/bin/egui_gui/propview.c
+++ b/src/bin/egui_gui/propview.c
@@ -157,7 +157,26 @@ _prop_item_content_get(void *data, Evas_Object *obj 
EINA_UNUSED, const char *par
 it_data->prop = prop_create_for_op(it_data->op_desc);
 const Gui_Context *ctx = _active_context_get();
 Gui_Session *session = (Gui_Session *) 
gui_context_editor_session_get(ctx);
-manager_widget_property_get(session, it_data->wdg, it_data->prop);
+
+/* Check if get function is implemented for this property. */
+Eolian_Function_Type func_type = db_op_desc_type_get(it_data->op_desc);
+const Eolian_Class *f_klass = 
eolian_class_get_by_name(db_op_desc_class_name_get(it_data->op_desc));
+const Eolian_Class *w_klass = 
eolian_class_get_by_name(wdg_class_name_get(it_data->wdg));
+
+const char *func_name = db_op_desc_op_name_get(it_data->op_desc);
+
+const Eolian_Function *func_id = 
eolian_class_function_get_by_name(f_klass, func_name, func_type);
+Eina_Bool ret = eolian_function_is_implemented(func_id, func_type, 
w_klass);
+if (ret)
+  {
+ manager_widget_property_get(session, it_data->wdg, it_data->prop);
+  }
+else
+  {
+ ERR("Func: \"%s::%s\" was not implemented for class \"%s\"", 
eolian_class_name_get(f_klass),
+  
func_name,
+  
eolian_class_name_get(w_klass));
+  }
  }
 
Evas_Object * it_box = _mempool_cache_data_get(fullname);

-- 




[EGIT] [tools/erigo] master 01/01: Fix property's Display name in Property View

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=a234bb9153e5f246c341bffee3af2678c5256ad5

commit a234bb9153e5f246c341bffee3af2678c5256ad5
Author: Yakov Goldberg 
Date:   Sun Mar 22 16:15:58 2015 +0200

Fix property's Display name in Property View
---
 src/lib/database.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/database.c b/src/lib/database.c
index 2499ade..0e246fa 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -1105,7 +1105,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
   sprintf(name_full, "%s%s%s", op_desc->cl_name, 
CLASS_PROP_DELIMETER, op_desc->op_name);
   op_desc->op_name_full = strdup(name_full);
 
-  op_desc->display_name =  (_op_set && _op_set->display_name) 
? _op_set->display_name : op_desc->op_name_full;
+  op_desc->display_name =  (_op_set && _op_set->display_name) 
? _op_set->display_name : op_desc->op_name;
 
   op_desc->is_constructor = 
eolian_function_is_constructor(func, _ekl);
 

-- 




[EGIT] [core/elementary] master 01/01: Implement efl_file_get() for Elm_Layout and Elm_Video

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=e5cda41c889f98b6f3f5f63b909f595a7a656cc0

commit e5cda41c889f98b6f3f5f63b909f595a7a656cc0
Author: Yakov Goldberg 
Date:   Thu Mar 19 14:08:23 2015 +0200

Implement efl_file_get() for Elm_Layout and Elm_Video

"file" property in Efl.File interface is virtual pure,
so according to OO principles must be implemented in derived classes.

This patch adds implementation of "file.get" in Elm_Layout.

Further, Elm_Video class has it's own implementation of "file.set",
thus also requires implementation of "file.get"
---
 src/lib/elm_layout.c  | 7 +++
 src/lib/elm_layout.eo | 1 +
 src/lib/elm_video.c   | 7 +++
 src/lib/elm_video.eo  | 1 +
 4 files changed, 16 insertions(+)

diff --git a/src/lib/elm_layout.c b/src/lib/elm_layout.c
index 6e3ccb2..19f6b47 100644
--- a/src/lib/elm_layout.c
+++ b/src/lib/elm_layout.c
@@ -857,6 +857,13 @@ _elm_layout_efl_file_file_set(Eo *obj, 
Elm_Layout_Smart_Data *sd, const char *fi
return int_ret;
 }
 
+EOLIAN static void
+_elm_layout_efl_file_file_get(Eo *obj, Elm_Layout_Smart_Data *sd EINA_UNUSED, 
const char **file, const char **group)
+{
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   edje_object_file_get(wd->resize_obj, file, group);
+}
+
 EOLIAN static Eina_Bool
 _elm_layout_theme_set(Eo *obj, Elm_Layout_Smart_Data *sd, const char *klass, 
const char *group, const char *style)
 {
diff --git a/src/lib/elm_layout.eo b/src/lib/elm_layout.eo
index f606a55..7dca646 100644
--- a/src/lib/elm_layout.eo
+++ b/src/lib/elm_layout.eo
@@ -628,6 +628,7 @@ class Elm_Layout (Elm_Container, Efl.File)
   Eo.Base.constructor;
   Eo.Base.dbg_info_get;
   Efl.File.file.set;
+  Efl.File.file.get;
   Evas.Object_Smart.del;
   Evas.Object_Smart.add;
   Evas.Object_Smart.calculate;
diff --git a/src/lib/elm_video.c b/src/lib/elm_video.c
index 3db858f..b90e3f9 100644
--- a/src/lib/elm_video.c
+++ b/src/lib/elm_video.c
@@ -299,6 +299,13 @@ _elm_video_efl_file_file_set(Eo *obj, Elm_Video_Data *sd, 
const char *filename,
return EINA_TRUE;
 }
 
+EOLIAN static void
+_elm_video_efl_file_file_get(Eo *obj EINA_UNUSED, Elm_Video_Data *sd 
EINA_UNUSED, const char **filename, const char **key EINA_UNUSED)
+{
+   if (filename)
+ *filename = emotion_object_file_get(sd->emotion);
+}
+
 EOLIAN static Evas_Object*
 _elm_video_emotion_get(Eo *obj EINA_UNUSED, Elm_Video_Data *sd)
 {
diff --git a/src/lib/elm_video.eo b/src/lib/elm_video.eo
index 3ff5797..56d58d7 100644
--- a/src/lib/elm_video.eo
+++ b/src/lib/elm_video.eo
@@ -181,6 +181,7 @@ class Elm_Video (Elm_Layout, Efl.File, 
Elm_Interface_Atspi_Widget_Action)
   class.constructor;
   Eo.Base.constructor;
   Efl.File.file.set;
+  Efl.File.file.get;
   Evas.Object_Smart.add;
   Evas.Object_Smart.del;
   Elm_Widget.focus_next_manager_is;

-- 




[EGIT] [tools/erigo] master 01/01: Change configuration ad installation options

2015-03-22 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=7cf3d8be9d35e21b6bf6e9232083c80172cab735

commit 7cf3d8be9d35e21b6bf6e9232083c80172cab735
Author: Yakov Goldberg 
Date:   Sun Mar 22 13:56:41 2015 +0200

Change configuration ad installation options

For configuration and installation use:
$ cmake ..

or, in order to install into custom path:
$ cmake -DCMAKE_INSTALL_PREFIX=/install_path ..

For configuration of Debug version use:
$ cmake -DCMAKE_INSTALL_PREFIX=/install_path -DCMAKE_BUILD_TYPE=debug ..

in this case config files will be copied into build path and
Erigo can be launched from build directory.
---
 CMakeLists.txt  | 2 +-
 src/bin/CMakeLists.txt  | 2 --
 src/bin/egui_gui/CMakeLists.txt | 2 --
 src/lib/CMakeLists.txt  | 2 --
 4 files changed, 1 insertion(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 846eed1..2999a07 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -7,7 +7,7 @@ string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER)
 
 # define var EGUI_IS_RELEASE to activate install scripts
 if (NOT CMAKE_BUILD_TYPE)
-   set(CMAKE_BUILD_TYPE Debug)
+   set(CMAKE_BUILD_TYPE Release)
 endif(NOT CMAKE_BUILD_TYPE)
 
 string(TOLOWER ${CMAKE_BUILD_TYPE} EGUI_BUILD_TYPE)
diff --git a/src/bin/CMakeLists.txt b/src/bin/CMakeLists.txt
index 5b239bb..65de802 100644
--- a/src/bin/CMakeLists.txt
+++ b/src/bin/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(CMAKE_BUILD_TYPE Debug)
-
 include_directories (${CMAKE_SOURCE_DIR}/src/lib)
 include_directories (${CMAKE_SOURCE_DIR}/src/bin/egui_gui)
 
diff --git a/src/bin/egui_gui/CMakeLists.txt b/src/bin/egui_gui/CMakeLists.txt
index 6565d4c..509e135 100644
--- a/src/bin/egui_gui/CMakeLists.txt
+++ b/src/bin/egui_gui/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(CMAKE_BUILD_TYPE Debug)
-
 find_package(Gvc QUIET)
 find_package(CGraph QUIET)
 find_program(ENVENTOR NAMES enventor)
diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt
index d92fc2e..863f405 100644
--- a/src/lib/CMakeLists.txt
+++ b/src/lib/CMakeLists.txt
@@ -1,5 +1,3 @@
-set(CMAKE_BUILD_TYPE Debug)
-
 LIST(APPEND GUI_PARSER_CC_SOURCES
ffi_abstraction.c
ffi_glue.c

-- 




[EGIT] [tools/erigo] master 01/02: Fix gui_value_string* API. Put strdup() inside, because free() is inside

2015-03-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=a92e6c355f16d28586caea7e88ab57f9c08e4a61

commit a92e6c355f16d28586caea7e88ab57f9c08e4a61
Author: Yakov Goldberg 
Date:   Thu Mar 19 16:05:49 2015 +0200

Fix gui_value_string* API. Put strdup() inside, because free() is inside
---
 src/bin/egui_gui/cbview.c |  4 ++--
 src/bin/egui_gui/editor.c | 22 +++---
 src/lib/database.c|  4 ++--
 src/lib/ffi_abstraction.c |  2 +-
 src/lib/gui_parser.c  | 12 ++--
 src/lib/gui_widget.c  | 14 --
 6 files changed, 30 insertions(+), 28 deletions(-)

diff --git a/src/bin/egui_gui/cbview.c b/src/bin/egui_gui/cbview.c
index 50a92d8..e5816f6 100644
--- a/src/bin/egui_gui/cbview.c
+++ b/src/bin/egui_gui/cbview.c
@@ -324,7 +324,7 @@ _action_prop_update(void *data, Eo *obj, void *event_info)
}
  else
{
-  gui_value_string_set(val, strdup(entry_data));
+  gui_value_string_set(val, entry_data);
}
   }
 else if (type == GUI_TYPE_SINT)
@@ -353,7 +353,7 @@ _action_prop_update(void *data, Eo *obj, void *event_info)
 if (type == GUI_TYPE_ENUM)
   {
  gui_value_string_free(val);
- gui_value_enum_set(val, strdup(new_enum_value));
+ gui_value_enum_set(val, new_enum_value);
   }
 else if (type == GUI_TYPE_OBJECT)
   {
diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 2b8bc93..61eb42e 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -1292,7 +1292,7 @@ _widget_prop_add(Gui_Session *session, const Gui_Widget 
*wdg, const Gui_Widget_P
   Op_Desc *op_desc = 
db_mro_op_desc_get(wdg_class_name_get(wdg), DB_DEF_CONTAINER_CLASS, 
CONTENT_SET);
   Gui_Widget_Property *new_prop = 
prop_create_for_op(op_desc);
   Gui_Value *val = 
prop_value_nth_get(new_prop, 0);
-  gui_value_string_set(val, 
strdup(part_name));
+  gui_value_string_set(val, part_name);
   val = prop_value_nth_get(new_prop, 1);
   gui_value_name_id_set(val, 
GUI_TYPE_OBJECT, DUMMY_ID);
   Object_Container_Item *ci = 
obj_container_item_new(new_prop, DUMMY_ID);
@@ -3136,13 +3136,13 @@ _editor_factory_wdg_create(const char *class_name, 
const Gui_Widget *focused_wdg
 val = prop_value_nth_get(prop, 0);
 gui_value_string_set(val, NULL);
 val = prop_value_nth_get(prop, 1);
-gui_value_string_set(val, strdup("ELM_WIN_BASIC"));
+gui_value_string_set(val, "ELM_WIN_BASIC");
 wdg_prop_add(wdg, prop);
 
 op = db_mro_op_desc_get(class_name, DB_DEF_WIN_CLASS, TITLE_SET);
 prop = prop_create_for_op(op);
 val = prop_value_nth_get(prop, 0);
-gui_value_string_set(val, strdup(eid_name_get(wdg_eid_get(wdg;
+gui_value_string_set(val, eid_name_get(wdg_eid_get(wdg)));
 wdg_prop_add(wdg, prop);
  }
 
@@ -3285,7 +3285,7 @@ _prop_update_from_propview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Descr
  else
{
   gui_value_string_free(val);
-  gui_value_string_set(val, strdup(entry_data));
+  gui_value_string_set(val, entry_data);
}
   }
 else if (type == GUI_TYPE_SINT)
@@ -3324,7 +3324,7 @@ _prop_update_from_propview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Descr
 if (type == GUI_TYPE_ENUM)
   {
  gui_value_string_free(val);
- gui_value_enum_set(val, strdup(new_enum_value));
+ gui_value_enum_set(val, new_enum_value);
   }
 /* FIXME: there is problem with content_set; because prev content must 
be unset; or need to redraw from the beginning*/
 else if (type == GUI_TYPE_OBJECT)
@@ -3582,7 +3582,7 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Desc
 if (type == GUI_TYPE_STRING)
   {
  gui_value_string_free(val);
- gui_value_string_set(val, strdup(entry_data));
+ gui_value_string_set(val, entry_data);
 
  /* Reloading all window. */
  _wdg_parent_win_reload(wdg);
@@ -3726,19 +3726,19 @@ _itemview_item_do_(unsigned int type)
  gui_value_name_id_set(val, GUI_TYPE_OBJECT_ITEM, new_parent_eid);
 
  val = prop_value_nth_get(prop, 2);
- gui_value_string_set(val, strdup(str));
+ gui_value_string_set(val, str);
   }
 else if (!strcmp(wdg_class_name_get(wdg), DB_DEF_DISKSELECTOR_CLASS) ||
  !strcmp(wd

[EGIT] [tools/erigo] master 02/02: Handle string values when fetching default properties

2015-03-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=f0ea55925ac6b4a912c22d287993ba3f3081acbf

commit f0ea55925ac6b4a912c22d287993ba3f3081acbf
Author: Yakov Goldberg 
Date:   Thu Mar 19 17:21:36 2015 +0200

Handle string values when fetching default properties

String values which were received with _get() funcs are const char*, but
gui_value_del() frees the memory.
So need to re-set them.
---
 src/lib/ffi_abstraction.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c
index 66f8392..5b114a0 100644
--- a/src/lib/ffi_abstraction.c
+++ b/src/lib/ffi_abstraction.c
@@ -251,6 +251,12 @@ _ffi_eo_do_get(const Gui_Session *session, const 
Gui_Widget *wdg, const Gui_Widg
  const char *enum_str_value = db_op_desc_nth_par_enum_get(op_desc, 
i, INT_GET(gui_value));
  gui_value_enum_set(gui_value, enum_str_value);
   }
+/* String values which were received with _get() func are const char*, 
but gui_value_del() frees the memory.
+ * So need to re-set them. */
+else if (gv_type == GUI_TYPE_STRING)
+  {
+ gui_value_string_set(gui_value, STRING_GET(gui_value));
+  }
 i++;
  }
 

-- 




[EGIT] [tools/erigo] master 01/01: Fix first setting of value for hoversel in Property View

2015-03-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=2aa8555b3c66dbaa9024d7844f123a9d5146e216

commit 2aa8555b3c66dbaa9024d7844f123a9d5146e216
Author: Yakov Goldberg 
Date:   Thu Mar 19 15:28:29 2015 +0200

Fix first setting of value for hoversel in Property View
---
 src/bin/egui_gui/props_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/egui_gui/props_helper.c b/src/bin/egui_gui/props_helper.c
index fad9e40..3e913ad 100644
--- a/src/bin/egui_gui/props_helper.c
+++ b/src/bin/egui_gui/props_helper.c
@@ -536,7 +536,7 @@ props_value_add(Eo *box, const Gui_Widget *wdg, const 
Gui_Value *value, const Op
 }
 
   new_obj = props_hoversel_resources_add(box, NULL, 
elm_widget_top_get(box), default_str, wdg_context_get(wdg), RESOURCE_IMAGE);
-  props_hoversel_resources_add(NULL, new_obj, NULL, NULL, 
wdg_context_get(wdg), RESOURCE_EDJE);
+  props_hoversel_resources_add(NULL, new_obj, NULL, default_str, 
wdg_context_get(wdg), RESOURCE_EDJE);
   break;
}
   case GUI_TYPE_OBJECT_ITEM:

-- 




Re: [E-devel] Can't get Erigo to Launch

2015-03-19 Thread Yakov Goldberg
On 03/18/2015 04:17 PM, Jeff Hoogland wrote:
> It appears that Erigo's make install isn't installing its data folder onto
> the system unless you pass -DCMAKE_BUILD_TYPE=release option.
>
> Once I did that it fired right up.
Yes, as we spoke yesterday.
Thanks for spotting it and I'll remove this option from next release.
>
> On Wed, Mar 18, 2015 at 8:25 AM, Jeff Hoogland 
> wrote:
>
>> Error message with updated EFL:
>>
>> erigo
>> ERR<4874>:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No such
>> file or directory
>> ERR<4874>:eo_lexer lib/eolian/database_fill.c:221
>> eo_parser_database_fill() unable to create lexer for file
>> /home/jeff/bodhi_debs/20150316/erigo-20150316/obj-x86_64-linux-gnu/data/config/egui_all.eo
>> ERR<4874>:
>> /home/jeff/bodhi_debs/20150316/erigo-20150316/src/bin/main.c:249 main()
>> Could not start Erigo
>>
>>
>> On Wed, Mar 18, 2015 at 1:30 AM, Daniel Zaoui 
>> wrote:
>>
>>> Yep, in efl branch, not in Erigo.
>>>
>>> On Tue, 17 Mar 2015 09:49:31 -0500
>>> Jeff Hoogland  wrote:
>>>
 Did you push that update to the main git branch or should I be
 compiling a different branch? Not seeing any updates to the main
 branch.

 On Tue, Mar 17, 2015 at 2:52 AM, Daniel Zaoui
  wrote:

> Hi Jeff,
>
> On Tue, 17 Mar 2015 02:09:38 -0500
> Jeff Hoogland  wrote:
>
>> Trying Erigo for the first time in awhile and I am getting this
>> message when I try to start it:
>>
>> ERR<16944>:eo_lexer lib/eolian/eo_lexer.c:652
>> eo_lexer_set_input() No such file or directory
>> ERR<16944>:eo_lexer lib/eolian/database_fill.c:221
>> eo_parser_database_fill() unable to create lexer
>> ERR<16944>:
>> /home/jeff/bodhi_debs/20150316/erigo-20150316/src/bin/main.c:249
>> main() Could not start Erigo
>>
>> Using EFL/Elm built from Git today.
>>
> As you guessed, it works for me :D
>
> I pushed some patch in efl to improve the error message. Please
> update and tell me which file it fails on.
>
> JackDanielZ
>


>>>
>>
>> --
>> ~Jeff Hoogland 
>> My Projects on GitHub 
>>
>>
>


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Efl.File interface and it's overriding in Elm_Layout, Elm_Button and others

2015-03-18 Thread Yakov Goldberg
On 03/16/2015 09:41 PM, Tom Hacohen wrote:
> On 16/03/15 17:07, Yakov Goldberg wrote:
>> Hi,
>>
>> I have an issue with Elm_Button (and other classes which inherit from
>> Elm_Layout) and efl_file_set/get().
>> ERR<22924>:eo lib/eo/eo.c:676 _eo_call_resolve() in
>> ../src/lib/efl/interfaces/efl_file.eo.c:2: func 'efl_file_get' (613)
>> could not be resolved for class 'Elm_Button'.
>>
>> I don't know if there is any sense to call "efl_file_set/get" on Button,
>> that's just what I see in Erigo when fetch all inheritance classes and
>> functions for "Elm_Button".
>> I think we have inheritance problem here.
>>
>> The thing is that "Elm_Layout" inherits from "Efl.File" interface and
>> implements only "file_set".
>> "File" property is virtual pure so according to logic both: "file_set"
>> and "file_get" must be implemented, but "file_get" is not.
>>
>> The question is: why was not "file_get" implemented in "Elm_Layout"?
>> Intentionally or not?
>> Can I implement it in Elm_Layout?
>> Or maybe I need to implement it in "Elm_Button" and each other class
>> that inherits from Elm_Layout? But it seems wrong.
>>
>> If I implement it in ELm_Layout, I'll also have to fix (implement)
>> "file_get" in classes, which inherit from "Elm_Layout" but implement
>> only "file_set" (Currently I found only one: Elm_VIdeo).
>>
>> What do you think?
> Let's separate the two issues at hand.
>
> 1. Elm layout's lack of file_get
> 2. Erigo not dealing with it properly
>
>
> For #1: it possibly should be added, I guess no one added it because no
> one cared (and tbh, it's not useful). Dunno and don't really care. Does
> layout have it's own file_get? If so, it's just an oversight.
>
> For #2: you should properly handle it in Erigo, there's no way around
> it. Having just set and no get is something that can happen. Having just
> get and not set (read only) is also a valid case. You should handle all.
Let's combine them back because I handle PROPERTY, PROP_SET, and 
PROP_GET, but here is the case when I have virtual pure PROPERTY and 
suddenly "_get" was not implemented.
I will put more checks into Erigo, which will help to detect these cases 
and add appropriate implementations.
But probably checking should be made on compilation phase.

Yakov.

> --
> Tom.
>
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for all
> things parallel software development, from weekly thought leadership blogs to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Efl.File interface and it's overriding in Elm_Layout, Elm_Button and others

2015-03-16 Thread Yakov Goldberg
Hi,

I have an issue with Elm_Button (and other classes which inherit from 
Elm_Layout) and efl_file_set/get().
ERR<22924>:eo lib/eo/eo.c:676 _eo_call_resolve() in 
../src/lib/efl/interfaces/efl_file.eo.c:2: func 'efl_file_get' (613) 
could not be resolved for class 'Elm_Button'.

I don't know if there is any sense to call "efl_file_set/get" on Button, 
that's just what I see in Erigo when fetch all inheritance classes and 
functions for "Elm_Button".
I think we have inheritance problem here.

The thing is that "Elm_Layout" inherits from "Efl.File" interface and 
implements only "file_set".
"File" property is virtual pure so according to logic both: "file_set" 
and "file_get" must be implemented, but "file_get" is not.

The question is: why was not "file_get" implemented in "Elm_Layout"? 
Intentionally or not?
Can I implement it in Elm_Layout?
Or maybe I need to implement it in "Elm_Button" and each other class 
that inherits from Elm_Layout? But it seems wrong.

If I implement it in ELm_Layout, I'll also have to fix (implement) 
"file_get" in classes, which inherit from "Elm_Layout" but implement 
only "file_set" (Currently I found only one: Elm_VIdeo).

What do you think?

Yakov






--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/erigo] master 01/08: Refactoring Eolian functions lookup

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=07c02bda0034f27d02194612e694a30f900ab55b

commit 07c02bda0034f27d02194612e694a30f900ab55b
Author: Yakov Goldberg 
Date:   Tue Feb 17 10:17:36 2015 +0200

Refactoring Eolian functions lookup

Iterate over all Eolian classes and add function for each property.
Add Display name, params overrides, containers according to func_names.
Filter out classes and functions according to black list
---
 data/config/func_names.json |   5 -
 src/lib/database.c  | 652 +---
 2 files changed, 377 insertions(+), 280 deletions(-)

diff --git a/data/config/func_names.json b/data/config/func_names.json
index f7f7c01..b0a0064 100644
--- a/data/config/func_names.json
+++ b/data/config/func_names.json
@@ -430,11 +430,6 @@
 },
 {
"class" : "Elm_Table",
-   "name" : "pack",
-   "container_behavior_data":["OBJ_CONTAINER", "CONTAINER_REPACK"]
-},
-{
-   "class" : "Elm_Table",
"name" : "clear",
"container_behavior_data":["OBJ_CONTAINER", "CONTAINER_UNPACK_ALL"]
 },
diff --git a/src/lib/database.c b/src/lib/database.c
index b0bdc48..47bf6d4 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -31,10 +31,10 @@ typedef struct _Container_Behavior_Data
 
 struct _Op_Desc
 {
-   char *cl_name;   /* "Evas_Object" */
-   char *op_name;   /* "visibility_set" */
+   Eina_Stringshare *cl_name;   /* "Evas_Object" */
+   Eina_Stringshare *op_name;   /* "visibility_set" */
char *op_name_full; /* Evas_Object::visibility_set */
-   char *display_name;   /* "Visibility" */
+   const char *display_name;   /* "Visibility" */
char *func_set_name; /*func to used in eo_do "evas_obj_visibility_set"*/
void *func_set; /* Pointer to Eo2 API. T.e. func evas_obj_box_pack_end*/
void *func_get; /* Pointer to Eo2 API. T.e. func evas_obj_box_pack_end*/
@@ -185,10 +185,9 @@ _cl_table_free_cb(void *_data)
  free(param_desc->gui_type_name);
  free(param_desc);
   }
-free(op->cl_name);
-free(op->op_name);
+eina_stringshare_del(op->cl_name);
+eina_stringshare_del(op->op_name);
 free(op->op_name_full);
-free(op->display_name);
 free(op->func_set_name);
 free(op);
  }
@@ -663,67 +662,59 @@ end:
return ret;
 }
 
-Eina_Bool
-db_init(const char *db_path, const char *all_eo_path)
-{
-   const char *log_dom = "egui_db";
-   const Eina_List *itr;
-   Eina_Hash *typedef_table = NULL; /* Hash ["Evas_Coord"]-> GUI_TYPE_INT */
+/* List and structure to keep data about ops from settings list. */
+Eina_List *_op_settings_list = NULL;
 
-   /* initializing operation table */
-   if (_db_init_count++ > 0)
- return EINA_TRUE;
+typedef struct
+{
+   Eina_Stringshare *cl_name;
+   Eina_Stringshare *op_name;
+   char *display_name;
+   Eina_List *params_override_list; /* array to keep list of overriden 
paramters. */
+   Container_Type container_type;
+   Container_Behavior_Type container_op_behavior_type;
+} Op_Settings;
 
-   _db_log_dom = eina_log_domain_register(log_dom, EINA_COLOR_LIGHTBLUE);
-   if (_db_log_dom < 0)
+static Op_Settings*
+_op_settings_get(const char *class_name, const char *op_name)
+{
+   Eina_List *itr;
+   Op_Settings *_op_set;
+   EINA_LIST_FOREACH(_op_settings_list, itr, _op_set)
  {
-EINA_LOG_ERR("Could not register log domain: %s", log_dom);
-return EINA_FALSE;
+/* Comparing stringshares */
+if ((_op_set->cl_name == class_name) &&
+(_op_set->op_name == op_name))
+  return _op_set;
  }
+   return NULL;
+}
 
-   eo_init();
-
-   if (!eolian_eo_file_parse(all_eo_path))
- return EINA_FALSE;
-
+/* Read operations settings file and save data in a list.
+ * Data to be saved:
+ *   - class name;
+ *   - op name;
+ *   - display name;
+ *   - container info;
+ *   - parameter overriding info. */
+static Eina_Bool
+_op_settings_init(const char *db_path)
+{
Eina_Json_Value *jv, *tmp = NULL, *json_op_desc;
+   Eina_Hash *container_typedef_table = NULL; /* Hash ["Evas_Coord"]-> 
GUI_TYPE_INT */
+   container_typedef_table = eina_hash_string_superfast_new(NULL);
+
+   eina_hash_add(container_typedef_table, "OBJ_CONTAINER", (void *) 
(uintptr_t) OBJ_CONTAINER);
+   eina_hash_add(container_typedef_table, "ITEM_CONTAINER", (void *) 
(uintptr_t) ITEM_CONTAINER);
+   eina_hash_add(container_typedef_table, "CONTAINER_PACK", (void *) 
(uintptr_t) CONTAINER_PACK);
+   eina_hash_add(container_typedef_table

[EGIT] [tools/erigo] master 04/08: Add infrastructure to create popups for warnings

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=e5cc25086d767411d79fe125964e3129e53d63e9

commit e5cc25086d767411d79fe125964e3129e53d63e9
Author: Yakov Goldberg 
Date:   Tue Mar 10 14:08:28 2015 +0200

Add infrastructure to create popups for warnings

Add popup for existing file when "SaveAs"
---
 src/bin/egui_gui/CMakeLists.txt |  1 +
 src/bin/egui_gui/egui_logic.c   | 46 ++
 src/bin/egui_gui/popup.c| 62 +
 src/bin/egui_gui/popup.h| 15 ++
 4 files changed, 118 insertions(+), 6 deletions(-)

diff --git a/src/bin/egui_gui/CMakeLists.txt b/src/bin/egui_gui/CMakeLists.txt
index 5f47a0a..6565d4c 100644
--- a/src/bin/egui_gui/CMakeLists.txt
+++ b/src/bin/egui_gui/CMakeLists.txt
@@ -71,6 +71,7 @@ add_executable(${TARGET}
editor.c
dnd.c
key_bindings.c
+   popup.c
)
 
 add_dependencies(${TARGET} erigo_cmd)
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 05a2390..7dea1c0 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -26,6 +26,7 @@
 #include "egui_logic.h"
 #include "settings_view.h"
 #include "rmview.h"
+#include "popup.h"
 
 static const Egui_Layout_Widgets *g_main_wdgs = NULL;
 static Egui_Layout_Fs_Win_Widgets *fs_win = NULL;
@@ -120,6 +121,30 @@ _canvas_name_update(const Gui_Context *ctx)
eo_do(g_main_wdgs->main_win->main_win, elm_obj_win_title_set(name));
 }
 
+/* Callback to be called after clicking popup button */
+static void
+_popup_cb(Popup_Button_Type button_type, void *data)
+{
+   Eina_Stringshare *path = data;
+   /* If OK button pressed rewrite file */
+   if (button_type == POPUP_OK_BUTTON)
+ {
+const Gui_Context *ctx = _active_context_get();
+const char *filename = ecore_file_file_get(path);
+char *parent_dir = ecore_file_dir_get(path);
+
+gui_context_project_filename_set((Gui_Context *) ctx, filename);
+gui_context_project_path_set((Gui_Context *) ctx, (const char *) 
parent_dir);
+generator_ctx_source_generate(ctx, GENERATE_JSON);
+_canvas_name_update(ctx);
+
+free(parent_dir);
+/* Close fileselector win. */
+eo_del(fs_win->fs_win);
+ }
+   eina_stringshare_del(path);
+}
+
 static void
 _on_fs_done(void *data, Evas_Object *obj EINA_UNUSED, void *event)
 {
@@ -253,13 +278,20 @@ _on_fs_done(void *data, Evas_Object *obj EINA_UNUSED, 
void *event)
   if (!ecore_file_exists(parent_dir)) goto end;
   if (path_exists)
 {
-   /* FIXME: File exists, check if want to save*/
-   ERR("can save, but file exists, show confirmation window");
+   const char *title = "Warning";
+   const char *text = "File already exists. Do you want to 
overwrite?";
+
+   void *_popup_cb_data = (void *) eina_stringshare_add(path);
+   popup_show(fs_win->fs_win, title, text, POPUP_OK_BUTTON | 
POPUP_CANCEL_BUTTON, _popup_cb, _popup_cb_data);
+   goto dont_delete_fileselector_because_of_popup;
+}
+  else
+{
+   gui_context_project_filename_set((Gui_Context *) ctx, 
filename);
+   gui_context_project_path_set((Gui_Context *) ctx, (const 
char *) parent_dir);
+   generator_ctx_source_generate(ctx, GENERATE_JSON);
+   _canvas_name_update(ctx);
 }
-  gui_context_project_filename_set((Gui_Context *) ctx, filename);
-  gui_context_project_path_set((Gui_Context *) ctx, (const char *) 
parent_dir);
-  generator_ctx_source_generate(ctx, GENERATE_JSON);
-  _canvas_name_update(ctx);
   break;
}
  }
@@ -267,6 +299,8 @@ _on_fs_done(void *data, Evas_Object *obj EINA_UNUSED, void 
*event)
 
 end:
eo_del(fs_win->fs_win);
+dont_delete_fileselector_because_of_popup:
+   ;
 }
 
 static void
diff --git a/src/bin/egui_gui/popup.c b/src/bin/egui_gui/popup.c
new file mode 100644
index 000..c63f301
--- /dev/null
+++ b/src/bin/egui_gui/popup.c
@@ -0,0 +1,62 @@
+#include 
+#include "egui_log.h"
+#include "egui_layout.h"
+#include "popup.h"
+
+#include "elm_widget.h"
+
+/* Only one popup at the moment is supported */
+static Eo *_popup = NULL;
+
+/* User callback to be called after popup closes. */
+static Popup_Cb _popup_cb = NULL;
+static void *_data = NULL;
+
+static Eina_Bool
+_popup_close_cb(void *data, Eo *obj EINA_UNUSED, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Popup_Button_Type _pressed_button_type = (uintptr_t) data;
+   /* Delete popup and call a callback afterwards. */
+   eo_del(_popup);
+

[EGIT] [tools/erigo] master 07/08: Add support for Elm Fileselector Entry widget

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=99314df37c85291d9e58ce7c38b31998a8ed5e1f

commit 99314df37c85291d9e58ce7c38b31998a8ed5e1f
Author: Yakov Goldberg 
Date:   Wed Mar 11 19:11:58 2015 +0200

Add support for Elm Fileselector Entry widget
---
 data/config/func_names.json   |  4 
 src/bin/egui_gui/egui_layout.json | 46 ++-
 src/bin/egui_gui/egui_logic.c |  4 
 src/lib/database.h|  1 +
 4 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/data/config/func_names.json b/data/config/func_names.json
index 748904f..c5234b5 100644
--- a/data/config/func_names.json
+++ b/data/config/func_names.json
@@ -118,6 +118,10 @@
 "Elm_Fileselector":
   {
  "Evas.Object.size":[200, 200]
+  },
+"Elm_Fileselector_Entry":
+  {
+ "Evas.Object.size":[100, 22]
   }
   },
"OPERATIONS" :
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index 4ab48df..e8ff02c 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1132,7 +1132,8 @@
 "fctr_separator_it":[0, 26, 1, 1],
 "fctr_frame_it":[0, 27, 1, 1],
 "fctr_evas_image_it":[0, 28, 1, 1],
-"fctr_fileselector_it":[0, 29, 1, 1]
+"fctr_fileselector_it":[0, 29, 1, 1],
+"fctr_fileselector_entry_it":[0, 30, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2425,6 +2426,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_fileselector_entry_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_fileselector_entry_image", 
"fctr_fileselector_entry_label"]
+},
+"fctr_fileselector_entry_image":
+{
+  "Desc":
+  {
+"parent":"fctr_fileselector_entry_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_fileselector_entry_label":
+{
+  "Desc":
+  {
+"parent":"fctr_fileselector_entry_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Elm Fileselector_Entry"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index ecd0712..f1d0707 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -792,6 +792,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_evas_image_it, 0, 28, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_it, 0, 29, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_entry_it, 0, 30, 1, 1);
  }
else
  {
@@ -836,6 +837,8 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_frame_it, 0, 9, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_evas_image_it, 1, 9, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_it, 2, 9, 1, 1);
+
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_entry_it, 0, 10, 1, 1);
  }
 }
 
@@ -1034,6 +1037,7 @@ egui_start()
_factory_item_finalize(g_main_wdgs->main_win->fctr_frame_it, 
"factory_frame.png", DB_DEF_FRAME_CLASS, EINA_TRUE);
_factory_item_finalize(g_main_wdgs->main_win->fctr_evas_image_it, 
"factory_image.png", DB_DEF_EVAS_IMAGE_CLASS, EINA_TRUE);
_factory_item_finalize(g_main_wdgs->main_win->fctr_fileselector_it, 
"factory_image.png", DB_DEF_FILESELECTOR_CLASS, EINA_TRUE);
+   _factory_item_finalize(g_main_wdgs->main_win->fctr_fi

[EGIT] [tools/erigo] master 03/08: Refactor function names generation

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=9ea38ecc16f213fc17092766acf67ff729df1f2a

commit 9ea38ecc16f213fc17092766acf67ff729df1f2a
Author: Yakov Goldberg 
Date:   Mon Mar 9 18:26:54 2015 +0200

Refactor function names generation

Use eolian_function_full_c_name_get() instead of generating it by myself
---
 src/lib/database.c | 63 +++---
 1 file changed, 13 insertions(+), 50 deletions(-)

diff --git a/src/lib/database.c b/src/lib/database.c
index e0b84d4..888f9f4 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -254,54 +254,29 @@ _class_get_func_name_get(Eolian_Class *eolian_class)
 
 /* Helper for db_init() */
 static char*
-_class_func_set_name_get(const Eolian_Class *cl, const Eolian_Function *func)
+_class_func_set_name_get(const Eolian_Function *func)
 {
char *ret = NULL;
-   const char *eo_prefix = NULL;
Eina_Strbuf *buf = eina_strbuf_new();
-   const char *func_name = eolian_function_name_get(func);
 
-   eo_prefix = eolian_class_eo_prefix_get(cl);
-
-   if (eo_prefix)
- {
-eina_strbuf_append_printf(buf, "%s_", eo_prefix);
-eina_strbuf_append_printf(buf, "%s", func_name);
- }
-   else
- {
-Eina_Iterator *itr = eolian_class_namespaces_get(cl);
-const char *token;
-EINA_ITERATOR_FOREACH(itr, token)
-  {
- eina_strbuf_append_printf(buf, "%s_", token);
-  }
-eina_iterator_free(itr);
-char *last_token = strdup(eolian_class_name_get(cl));
-eina_strbuf_append_printf(buf, "%s", last_token);
-
-/* Check if class name's suffix overlaps func's name. */
-eina_str_tolower(&last_token);
-if (!eina_str_has_prefix(func_name, last_token))
-  {
- eina_strbuf_append_printf(buf, "_%s", func_name);
-  }
-free(last_token);
- }
+   Eina_Stringshare *_full_c_name = eolian_function_full_c_name_get(func);
+   eina_strbuf_append_printf(buf, "%s", _full_c_name);
 
Eolian_Function_Type f_type = eolian_function_type_get(func);
if ((f_type == EOLIAN_PROPERTY) || (f_type == EOLIAN_PROP_SET))
- eina_strbuf_append_printf(buf, "_set");
+ {
+eina_strbuf_append_printf(buf, "_set");
+ }
 
ret = strdup(eina_strbuf_string_get(buf));
eina_strbuf_free(buf);
-   eina_str_tolower(&ret);
+   eina_stringshare_del(_full_c_name);
return ret;
 }
 
 /* Helper for db_init() */
 static char*
-_class_func_get_name_get(const Eolian_Class *cl, const Eolian_Function *func)
+_class_func_get_name_get(const Eolian_Function *func)
 {
Eolian_Function_Type f_type = eolian_function_type_get(func);
 
@@ -309,29 +284,17 @@ _class_func_get_name_get(const Eolian_Class *cl, const 
Eolian_Function *func)
  return NULL;
 
char *ret = NULL;
-   const char *eo_prefix = NULL;
Eina_Strbuf *buf = eina_strbuf_new();
 
-
-   eo_prefix = eolian_class_eo_prefix_get(cl);
-
-   if (eo_prefix)
- {
-eina_strbuf_append_printf(buf, "%s_", eo_prefix);
- }
-   else
- {
-eina_strbuf_append_printf(buf, "%s_", eolian_class_full_name_get(cl));
- }
-
-   eina_strbuf_append_printf(buf, "%s", eolian_function_name_get(func));
+   Eina_Stringshare *_full_c_name = eolian_function_full_c_name_get(func);
+   eina_strbuf_append_printf(buf, "%s", _full_c_name);
 
if ((f_type == EOLIAN_PROPERTY) || (f_type == EOLIAN_PROP_GET))
  eina_strbuf_append_printf(buf, "_get");
 
ret = strdup(eina_strbuf_string_get(buf));
eina_strbuf_free(buf);
-   eina_str_tolower(&ret);
+   eina_stringshare_del(_full_c_name);
return ret;
 }
 
@@ -1116,7 +1079,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
 
   if ((f_type == EOLIAN_PROPERTY) || (f_type == 
EOLIAN_PROP_SET) || (f_type == EOLIAN_METHOD))
 {
-   func_set_name = _class_func_set_name_get(_ekl, func);
+   func_set_name = _class_func_set_name_get(func);
op_desc->func_set_name = strdup(func_set_name);
op_desc->func_set = dlsym(RTLD_DEFAULT, 
op_desc->func_set_name);
if (!op_desc->func_set)
@@ -1125,7 +1088,7 @@ db_init(const char *db_path, const char *all_eo_path, 
const char *black_list)
 }
 
   /* if method is not PROPERTY or PROP_GET, NULL will be 
returned. */
-  func_get_name = _class_func_get_name_get(_ekl, func);
+  func_get_name = _class_func_get_name_get(func);
   /* Name of get function is not saved, because we don't need 
to generate it. */
   if (func_get_name)
 {

-- 




[EGIT] [tools/erigo] master 08/08: Add support for Elm Fileselector Button widget

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=b44143b687f8e563f8071097517c918b836d3ca2

commit b44143b687f8e563f8071097517c918b836d3ca2
Author: Yakov Goldberg 
Date:   Thu Mar 12 11:41:47 2015 +0200

Add support for Elm Fileselector Button widget
---
 data/config/egui_all.eo   |  2 +-
 src/bin/egui_gui/egui_layout.json | 46 ++-
 src/bin/egui_gui/egui_logic.c |  3 +++
 src/lib/database.h|  1 +
 4 files changed, 50 insertions(+), 2 deletions(-)

diff --git a/data/config/egui_all.eo b/data/config/egui_all.eo
index ce89010..9789ba9 100644
--- a/data/config/egui_all.eo
+++ b/data/config/egui_all.eo
@@ -1,3 +1,3 @@
-class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, Elm_Grid, Elm_Panel, 
Elm_Separator, Elm_Hoversel, Evas.Image, Elm_Naviframe)
+class EGUI_ALL (Elm_Win, Elm_Bg, Elm_Box, Elm_Table, Elm_Menu, 
Elm_Diskselector, Elm_Ctxpopup, Elm_Actionslider, Elm_Bubble, Elm_Button, 
Elm_Calendar, Elm_Check, Elm_Radio, Elm_Clock, Elm_Colorselector, Elm_Image, 
Elm_Icon, Elm_Label, Elm_Entry, Elm_Flip, Elm_Genlist, Elm_Gengrid, 
Elm_Dayselector, Elm_Toolbar, Elm_Layout, Elm_Scroller, Elm_Panes, 
Elm_Fileselector_Button, Elm_Fileselector_Entry, Elm_Fileselector, Elm_Frame, 
Elm_Grid, Elm_Panel, Elm_Separator, Elm_Hoversel, Evas.Image, Elm [...]
 {
 }
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index e8ff02c..a81bc90 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1133,7 +1133,8 @@
 "fctr_frame_it":[0, 27, 1, 1],
 "fctr_evas_image_it":[0, 28, 1, 1],
 "fctr_fileselector_it":[0, 29, 1, 1],
-"fctr_fileselector_entry_it":[0, 30, 1, 1]
+"fctr_fileselector_entry_it":[0, 30, 1, 1],
+"fctr_fileselector_button_it":[0, 31, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2469,6 +2470,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_fileselector_button_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_fileselector_button_image", 
"fctr_fileselector_button_label"]
+},
+"fctr_fileselector_button_image":
+{
+  "Desc":
+  {
+"parent":"fctr_fileselector_button_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_fileselector_button_label":
+{
+  "Desc":
+  {
+"parent":"fctr_fileselector_button_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Elm Fileselector_Button"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index f1d0707..9ff2ae2 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -793,6 +793,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_evas_image_it, 0, 28, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_it, 0, 29, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_entry_it, 0, 30, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_button_it, 0, 31, 1, 1);
  }
else
  {
@@ -839,6 +840,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_it, 2, 9, 1, 1);
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_

[EGIT] [tools/erigo] master 06/08: Add support for Elm Fileselector widget

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=5c69882d89c55d4e32789ac8d44a0ac75ecc2165

commit 5c69882d89c55d4e32789ac8d44a0ac75ecc2165
Author: Yakov Goldberg 
Date:   Wed Mar 11 18:41:13 2015 +0200

Add support for Elm Fileselector widget
---
 data/config/func_names.json   |  4 
 src/bin/egui_gui/egui_layout.json | 48 +--
 src/bin/egui_gui/egui_logic.c |  3 +++
 src/lib/database.h|  1 +
 4 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/data/config/func_names.json b/data/config/func_names.json
index b0a0064..748904f 100644
--- a/data/config/func_names.json
+++ b/data/config/func_names.json
@@ -114,6 +114,10 @@
 "Evas.Image":
   {
  "Evas.Object.size":[40, 40]
+  },
+"Elm_Fileselector":
+  {
+ "Evas.Object.size":[200, 200]
   }
   },
"OPERATIONS" :
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index fd9b7e2..4ab48df 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -1131,7 +1131,8 @@
 "fctr_naviframe_it":[0, 25, 1, 1],
 "fctr_separator_it":[0, 26, 1, 1],
 "fctr_frame_it":[0, 27, 1, 1],
-"fctr_evas_image_it":[0, 28, 1, 1]
+"fctr_evas_image_it":[0, 28, 1, 1],
+"fctr_fileselector_it":[0, 29, 1, 1]
   }
 },
 "fctr_win_it":
@@ -2381,6 +2382,49 @@
 "Evas.Object.visibility":[true]
   }
 },
+"fctr_fileselector_it":
+{
+  "Desc":
+  {
+"parent":"fctr_table",
+"class":"Elm_Box",
+"public":true
+  },
+  "Properties":
+  {
+"Elm_Box.horizontal":[true],
+"Elm_Box.padding":[7, 0],
+"Evas.Object.visibility":[true]
+  },
+  "Contains":["fctr_fileselector_image", "fctr_fileselector_label"]
+},
+"fctr_fileselector_image":
+{
+  "Desc":
+  {
+"parent":"fctr_fileselector_it",
+"class":"Elm_Image"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_min":[25, 25],
+"Elm_Image.resizable":[true, true],
+"Evas.Object.visibility":[true]
+  }
+},
+"fctr_fileselector_label":
+{
+  "Desc":
+  {
+"parent":"fctr_fileselector_it",
+"class":"Elm_Label"
+  },
+  "Properties":
+  {
+"Elm_Widget.part_text":[null, "Elm Fileselector"],
+"Evas.Object.visibility":[true]
+  }
+},
 "right_panes":
 {
   "Desc":
@@ -3147,4 +3191,4 @@
   }
 }
   }
- }
\ No newline at end of file
+ }
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 7dea1c0..ecd0712 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -791,6 +791,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_frame_it, 0, 27, 1, 1);
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_evas_image_it, 0, 28, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_it, 0, 29, 1, 1);
  }
else
  {
@@ -834,6 +835,7 @@ _factory_vertical_pack(Eina_Bool vertical_pack)
 
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_frame_it, 0, 9, 1, 1);
 elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_evas_image_it, 1, 9, 1, 1);
+elm_table_pack(g_main_wdgs->main_win->fctr_table, 
g_main_wdgs->main_win->fctr_fileselector_it, 2, 9, 1, 1);
  }
 }
 
@@ -1031,6 +1033,7 @@ egui_start()
_factory_item_finalize(g_main_wdgs->main_win->fctr_separator_it, 
"factory_dayselector.png", DB_DEF_SEPARATOR_CLASS, EINA_TRUE);
_factory_item_finalize(g_main_wdgs->main_win->fctr_frame_it, 
"factory_frame.png", DB_DEF_FRAME_CLASS, EINA_TRUE);
_factory_item_finalize(g_main_wdgs->main_win->fctr_evas_image_it, 
"factory_image.png", DB_DEF_EVAS_IMAGE_CLASS, EINA_TRUE);
+   _factory_item_finalize(g_main_wdgs->main_win->fctr_fileselector_it, 
"factory_image.png", DB_DEF_FILESELECTOR_CLASS, EINA_TRUE);
 
/*FIXME: Need to unpack inline image, so pass it into delete callback*/
evas_object_smart_callback_add(g_main_wdgs->main_win->main_win, 
"delete,request", _main_win_del_cb, NULL);
diff --git a/src/lib/database.h b/src/lib/database.h
index 8cc8a66..8f72308 100644
--- a/src/lib/database.h
+++ b/src/lib/database.h
@@ -114,6 +114,7 @@ typedef struct _Container_Desc Container_Desc;
 #define DB_DEF_NAVIFRAME_CLASS "Elm_Naviframe"
 #define DB_DEF_SEPARATOR_CLASS "Elm_Separator"
 #define DB_DEF_FRAME_CLASS "Elm_Frame"
+#define DB_DEF_FILESELECTOR_CLASS "Elm_Fileselector"
 
 #define VISIBILITY_SET "visibility"
 #define SIZE_SET "size"

-- 




[EGIT] [tools/erigo] master 05/08: Add warning that Eo class was not initialized for using in Erigo

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=9d7d5a642fd8ebc2d5c999d484b5b330bc95d479

commit 9d7d5a642fd8ebc2d5c999d484b5b330bc95d479
Author: Yakov Goldberg 
Date:   Thu Mar 12 11:40:22 2015 +0200

Add warning that Eo class was not initialized for using in Erigo
---
 src/lib/database.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/database.c b/src/lib/database.c
index 888f9f4..acfb599 100644
--- a/src/lib/database.c
+++ b/src/lib/database.c
@@ -1309,6 +1309,7 @@ db_class_func_get(const char *class_name)
cl_props = eina_hash_find(cl_table, class_name);
if (cl_props)
  return cl_props->class_get_func;
+   ERR("Class: '%s' was never initialized. Add it into 'egui_all.json'", 
class_name);
return NULL;
 }
 

-- 




[EGIT] [tools/erigo] master 02/08: Add black list of classes and funcs

2015-03-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=cd548b2917abfc023ea1f9d42bd8ec2ccc954856

commit cd548b2917abfc023ea1f9d42bd8ec2ccc954856
Author: Yakov Goldberg 
Date:   Thu Mar 5 15:24:32 2015 +0200

Add black list of classes and funcs
---
 data/config/CMakeLists.txt  |   1 +
 data/config/black_list.json |  48 
 src/bin/main.c  |   3 +-
 src/lib/database.c  | 107 +---
 src/lib/database.h  |   2 +-
 src/lib/gui_widget.c|   4 +-
 src/lib/gui_widget.h|   2 +-
 7 files changed, 155 insertions(+), 12 deletions(-)

diff --git a/data/config/CMakeLists.txt b/data/config/CMakeLists.txt
index 92faf77..93dee0c 100644
--- a/data/config/CMakeLists.txt
+++ b/data/config/CMakeLists.txt
@@ -2,6 +2,7 @@ cmake_minimum_required(VERSION 2.8.1)
 
 LIST(APPEND CONFIG_FILES
  func_names.json
+ black_list.json
  egui_all.eo
 )
 #always copy config files into build directory, so egui_cmd will be able to 
generate egui_auto
diff --git a/data/config/black_list.json b/data/config/black_list.json
new file mode 100644
index 000..ba52da8
--- /dev/null
+++ b/data/config/black_list.json
@@ -0,0 +1,48 @@
+{
+   "Evas_3D_Texture": [],
+   "Evas_3D_Light": [],
+   "Evas_3D_Camera": [],
+   "Evas_3D_Material": [],
+   "Evas_3D_Node": [],
+   "Evas_3D_Mesh": [],
+   "Evas_3D_Object": [],
+   "Evas_3D_Scene": [],
+
+   "Eo.Base": [],
+   "Edje.Object": [],
+   "Elm_Interface_Atspi_Text": [],
+   "Elm_Interface_Atspi_Action": [],
+   "Elm_Interface_Atspi_Accessible": [],
+   "Elm_Interface_Atspi_Widget_Action": [],
+   "Evas.Common_Interface": [],
+   "Elm_Container": ["content_swallow_list"],
+   "Elm_Interface_Fileselector": ["mode", "selected_paths", "sort_method", 
"custom_filter_append"],
+   "Elm_Interface_Scrollable":["edge_top_cb", "edge_bottom_cb", 
"edge_right_cb", "vbar_unpress_cb", "vbar_drag_cb", "edge_left_cb", 
"scroll_right_cb", "animate_stop_cb", "scroll_cb", "scroll_down_cb", 
"animate_start_cb", "page_change_cb", "drag_stop_cb", "hbae_unpress_cb", 
"hbar_press_cb", "hbar_unpress_cb", "vbar_press_cb", "scroll_left_cb", 
"content_viewport_resize_cb", "drag_start_cb", "hbar_drag_cb", "scroll_up_cb", 
"single_direction", "movement_block"],
+   "Evas.Object_Smart": ["data", "attach", "callback_description_find", 
"callbacks_descriptions_get", "callbacks_descriptions_set"],
+   "Evas.Object":["size_hint_display_mode", "map", "render_op", 
"pointer_mode", "key_grab", "key_ungrab"],
+   "Elm_Hoversel":["item_add"],
+   "Evas.Image":["orient", "filter_source", "scene", "data_copy", "mmap", 
"pixels_get_callback", "colorspace", "scale_hint", "native_surface", 
"border_center_fill", "fill_spread", "video_surface_caps", "video_surface", 
"content_hint", "pixels_import", "data_convert", "data_set"],
+   
"Elm_Widget":["newest_focus_order_get","cursor_add","focus_next_object_get", 
"focus_next_object_set", 
"focus_highlight_geometry_get","activate","event","event_callback_add","cursor_del","event_callback_del","focus_cycle","focus_direction","event_propagate","signal_callback_add","focus_list_direction_get","tooltip_del","focus_next_get","focus_next","focus_list_next_get","focus_direction_get","signal_callback_del","tooltip_add","theme","focus_custom_chain","display_mode","on_show_region
 [...]
+   "Elm_Entry": 
["context_menu_item_add","markup_filter_prepend","cnp_mode","input_panel_language","autocapital_type","file","input_hint","input_panel_layout","input_panel_return_key_type","line_wrap","input_panel_imdata_get","markup_filter_remove","item_provider_append","markup_filter_append","markup_filter_remove","markup_filter_append","item_provider_ap

[EGIT] [tools/erigo] master 01/01: Eo: adapt code to follow eo_do new syntax - part 3

2015-03-04 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=554c595e68639a676bd7dae3a4c1ccace3135a35

commit 554c595e68639a676bd7dae3a4c1ccace3135a35
Author: Yakov Goldberg 
Date:   Wed Mar 4 18:25:40 2015 +0200

Eo: adapt code to follow eo_do new syntax - part 3
---
 src/lib/ffi_abstraction.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/ffi_abstraction.c b/src/lib/ffi_abstraction.c
index 00e05b6..56b4374 100644
--- a/src/lib/ffi_abstraction.c
+++ b/src/lib/ffi_abstraction.c
@@ -152,6 +152,7 @@ _ffi_eo_do(const Gui_Session *session, const Gui_Widget 
*wdg, const Gui_Widget_P
  ffi_call(&cif, (void (*)()) func_pointer, &result, values);
  ret = EINA_TRUE;
   }
+_eo_do_end();
  }
 
 end:
@@ -237,6 +238,7 @@ _ffi_eo_do_get(const Gui_Session *session, const Gui_Widget 
*wdg, const Gui_Widg
  ffi_call(&cif, (void (*)()) func_pointer, &result, values);
  ret = EINA_TRUE;
   }
+_eo_do_end();
  }
 
/* For enum type default value will be int. We need to change it to string 
value of current enum. */
@@ -340,7 +342,7 @@ _ffi_eo_add(const Gui_Session *session, const Gui_Widget 
*wdg, Eo *parent_eo)
if (_eo_do_start(_eoid_, NULL, EINA_FALSE, __FILE__, __FUNCTION__, 
__LINE__))
  {
 func_pointer();
-_tmp_obj = eo_finalize();
+_tmp_obj = _eo_add_end();
  }
 
ret = _tmp_obj;
@@ -427,6 +429,7 @@ _ffi_eo_do_content(const Gui_Session *session, const 
Gui_Widget *wdg, const Gui_
  ffi_call(&cif, (void (*)()) func_pointer, &result, values);
  ret = EINA_TRUE;
   }
+_eo_do_end();
  }
 
 end:
@@ -546,6 +549,7 @@ _ffi_eo_item_add(const Gui_Session *session, const 
Gui_Widget *wdg, const Item_C
   {
  ffi_call(&cif, (void (*)()) func_pointer, &ret_item, values);
   }
+_eo_do_end();
  }
 
 end:

-- 




[EGIT] [tools/erigo] master 02/02: Eo: adapt code to follow eo_do new syntax - part 2

2015-02-25 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=eae3a6ccda292590a7d1417e098bde8de26fef50

commit eae3a6ccda292590a7d1417e098bde8de26fef50
Author: Yakov Goldberg 
Date:   Wed Feb 25 12:32:45 2015 +0200

Eo: adapt code to follow eo_do new syntax - part 2
---
 src/bin/egui_gui/cbview.c |  2 +-
 src/bin/egui_gui/dnd.c|  4 ++--
 src/bin/egui_gui/editor.c | 23 +--
 src/bin/egui_gui/egui_logic.c |  2 +-
 src/lib/generator.c   |  2 +-
 5 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/src/bin/egui_gui/cbview.c b/src/bin/egui_gui/cbview.c
index 23df147..50a92d8 100644
--- a/src/bin/egui_gui/cbview.c
+++ b/src/bin/egui_gui/cbview.c
@@ -516,7 +516,7 @@ _item_content_get(void *data, Evas_Object *obj EINA_UNUSED, 
const char *part EIN
  }
else
  {
-eo_do_ret(cb_item_box, wdgs, eo_key_data_get("cb_item_wdgs"));
+eo_do(cb_item_box, wdgs = eo_key_data_get("cb_item_wdgs"));
  }
 
eo_do(wdgs->cb_label, elm_obj_widget_part_text_set(NULL, 
cb_type_get(it_data->cb)));
diff --git a/src/bin/egui_gui/dnd.c b/src/bin/egui_gui/dnd.c
index 500e325..9519c0a 100644
--- a/src/bin/egui_gui/dnd.c
+++ b/src/bin/egui_gui/dnd.c
@@ -549,7 +549,7 @@ _target_info_new(Gui_Widget *wdg, Eo *obj)
  }
else if (obj)
  {
-eo_do_ret(obj, ti, eo_key_data_get(DROP_TARGET));
+eo_do(obj, ti = eo_key_data_get(DROP_TARGET));
 if (!ti)
   {
  ti = calloc(1, sizeof(Target_Info));
@@ -619,7 +619,7 @@ drop_target_wdg_del(Gui_Widget *wdg, Eo *obj)
  }
else if (obj)
  {
-eo_do_ret(obj, ti, eo_key_data_get(DROP_TARGET));
+eo_do(obj, ti = eo_key_data_get(DROP_TARGET));
 eo_do(obj, eo_key_data_del(DROP_TARGET));
  }
 
diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 80f9374..2b8bc93 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -468,7 +468,7 @@ _iter_widget_delete(Gui_Widget *wdg)
  if (!IS_WIN(wdg))
{
   Eo *o = session_eo_get(session, wdg);
-  eo_do_ret(o, optional_win, eo_key_data_get("__editor_win"));
+  eo_do(o, optional_win = eo_key_data_get("__editor_win"));
}
  Eo *fr = main_wdg_info_frame_get(wi);
  if (fr)
@@ -1238,10 +1238,13 @@ _widget_prop_add(Gui_Session *session, const Gui_Widget 
*wdg, const Gui_Widget_P
 Eo *o = session_eo_get(session, wdg), *win = NULL, *fr = NULL;
 if (!IS_WIN(wdg))
   {
- eo_do_ret(o, win, eo_key_data_get("__editor_win"));
- eo_do_ret(win, fr, eo_key_data_get("__editor_frame"));
+ eo_do(o, win = eo_key_data_get("__editor_win"));
+ eo_do(win, fr = eo_key_data_get("__editor_frame"));
+  }
+else
+  {
+ eo_do(o, fr = eo_key_data_get("__editor_frame"));
   }
-else eo_do_ret(o, fr, eo_key_data_get("__editor_frame"));
 if (IS_WIN(wdg) && !strcmp(prop_name_get(prop), TITLE_SET))
   {
  Gui_Value *v = prop_value_nth_get(wdg_prop_get(wdg, 
DB_DEF_WIN_CLASS, TITLE_SET), 0);
@@ -1274,8 +1277,8 @@ _widget_prop_add(Gui_Session *session, const Gui_Widget 
*wdg, const Gui_Widget_P
   Eo *o = session_eo_get(session, wdg);
   Evas *e = evas_object_evas_get(o);
   Evas_Object *layout = eo_add(EDJE_EDIT_CLASS, e);
-  Eina_Bool ret;
-  if (eo_do_ret(layout, ret, 
efl_file_set(resource_value_get(res), group)))
+  Eina_Bool _ret = eo_do_ret(layout, _ret, 
efl_file_set(resource_value_get(res), group));
+  if (_ret)
 {
Eina_List *parts = edje_edit_parts_list_get(layout);
Eina_Stringshare *part_name;
@@ -1417,7 +1420,7 @@ _drop_target_main_wdg_enter(void *data, Evas_Object *obj)
  }
else if (canvas_drop_target != NULL)
  {
-eo_do_ret(canvas_drop_target, di, eo_key_data_get(EDITOR_DND_DATA));
+eo_do(canvas_drop_target, di = eo_key_data_get(EDITOR_DND_DATA));
 canvas = canvas_drop_target;
 _wdg_border_draw(NULL, EINA_FALSE, BORDER_DROP_TARGET);
  }
@@ -1459,7 +1462,7 @@ _drop_target_main_wdg_leave(void *data, Evas_Object *obj)
  }
else if (canvas_drop_target != NULL)
  {
-eo_do_ret(canvas_drop_target, di, eo_key_data_get(EDITOR_DND_DATA));
+eo_do(canvas_drop_target, di = eo_key_data_get(EDITOR_DND_DATA));
  }
else
  {
@@ -1597,7 +1600,7 @@ _drop_target_drop(void *data, Evas_Object *obj, 
Elm_Selection_Data *ev)
  }
else if (canvas_drop_target != NULL)
  {
-eo_do_ret(canvas_drop_target, di, eo_key_data_

[EGIT] [tools/erigo] master 01/02: Change 'egui' to 'Erigo' in error message

2015-02-25 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=a57f9ad8c051db777bd3317f3582b53fa32e1891

commit a57f9ad8c051db777bd3317f3582b53fa32e1891
Author: Yakov Goldberg 
Date:   Thu Feb 19 13:24:43 2015 +0200

Change 'egui' to 'Erigo' in error message
---
 src/bin/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 158eae2..176b482 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -245,7 +245,7 @@ main(int argc, char **argv)
 
if (!egui_init(PACKAGE_DATA_DIR"/config/func_names.json", 
PACKAGE_DATA_DIR"/config/egui_all.eo"))
  {
-EINA_LOG_ERR("Could not start egui");
+EINA_LOG_ERR("Could not start Erigo");
 egui_shutdown();
 return 1;
  }

-- 




Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-02-19 Thread Yakov Goldberg
Hi Thanatermesis,

Could you please try from the beginning:
Clone the repo.
Last commit should be named:
"Remove INSTALL_PREFIX overriding in Release mode. Don't know how it 
happened :)"

 > mkdir build
 > cd build
 > cmake ..
 > make
 > ./src/bin/egui_gui/erigo


Waiting for try-report :)
   Yakov.



On 02/19/2015 01:12 PM, Thanatermesis wrote:
> By other side I have also another problem, trying to run it:
>
> /tmp ❯❯❯
> erigo1
> ERR<14503>:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No such
> file or directory
> ERR<14503>:eo_lexer lib/eolian/database_fill.c:221
> eo_parser_database_fill() unable to create lexer
> ERR<14503>: /build/erigo/erigo/src/bin/main.c:248 main() Could not start
> egui
>
> I wondered that I needed the "egui" dependency... tried to install it, but
> later I realized that seems like egui is now erigo renamed
>
> So, what Im doing wrong and why doesn't run anything? seems like there's no
> updates on the git repo too
>
>
> 2015-02-17 15:34 GMT+01:00 Thanatermesis :
>
>> I have the build of erigo marked to use "last tags" instead of "last
>> commits in master", so looks like i should wait in order to get these fixes
>>
>> I did that because otherwise erigo and probably others would never build
>> here due to the dependency of dev libs instead of released libs
>>
>>
>>
>> 2015-02-17 10:22 GMT+01:00 Jérémy Zurcher :
>>
>>> you do build in a separate tree, my bad
>>>
>>> check your env ??
>>>
>>> On Tuesday 17 February 2015  10:16, Jérémy Zurcher wrote :
>>>> works fine here,
>>>>
>>>> clean your tree with : grep -Rl 'set(CMAKE_INSTALL_PREFIX' | xargs rm
>>>>
>>>> you should build in a separate dir
>>>> $ mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=/usr
>>> -DCMAKE_BUILD_TYPE=release
>>>> On Monday 16 February 2015  22:26, Thanatermesis wrote :
>>>>> Hum, I was trying it and seems like the prefix is ignored:
>>>>>
>>>>> example building:
>>>>>
>>>>> cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr
>>> -DCMAKE_BUILD_TYPE=release ..
>>>>> \
>>>>>
>>>>> Stills install on /opt
>>>>>
>>>>>
>>>>>
>>>>> 2015-02-16 9:24 GMT+01:00 Yakov Goldberg :
>>>>>
>>>>>> Carnival is cool, enjoy!
>>>>>> I'll be on vacation too. See you after Feb, 25th.
>>>>>>
>>>>>> Yakov.
>>>>>>
>>>>>>
>>>>>> On 02/16/2015 02:14 AM, Martinx - ジェームズ wrote:
>>>>>>> On 15 February 2015 at 12:12, Yakov Goldberg >>>>>> <mailto:yako...@samsung.com>> wrote:
>>>>>>>
>>>>>>>  Hi!
>>>>>>>
>>>>>>>  I was happy to help and thanks for packaging.
>>>>>>>  Installation of binary works and I'm ready to explain where
>>> to put
>>>>>>>  data/config files.
>>>>>>>
>>>>>>>  One more note. This:
>>>>>>>  /$ apt-get source erigo /
>>>>>>>  produces an error:
>>>>>>>  /E: Unable to find a source package for erigo/
>>>>>>>
>>>>>>>  And I'm usually in #e and #edevelop channels.
>>>>>>>
>>>>>>>  Yakov.
>>>>>>>
>>>>>>>
>>>>>>> Cool!! I'm glad you like it!   ^_^
>>>>>>>
>>>>>>> I forgot to mention that, when you add an Ubuntu PPA repository,
>>> the
>>>>>>> source repository isn't enabled by default.
>>>>>>>
>>>>>>> To enable it, edit the following file:
>>>>>>>
>>>>>>> sudo vi
>>> /etc/apt/sources.list.d/martinx-ubuntu-enlightenment-utopic.list
>>>>>>> And remove the commentary "# " (and the extra space " ") out from
>>> the
>>>>>>> line:
>>>>>>>
>>>>>>> # deb-src http://ppa.launchpad.net/martinx/enlightenment/ubuntu
>>> utopic
>>>>>>> main
>>>>>>>

Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-02-17 Thread Yakov Goldberg
Hi,
  yes I've noticed that, but looks like was late with the fix.
  Please checkout with latest master branch.

Yakov

On 02/16/2015 11:26 PM, Thanatermesis wrote:
> Hum, I was trying it and seems like the prefix is ignored:
>
> example building:
>
> cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=release ..
> \
>
> Stills install on /opt
>
>
>
> 2015-02-16 9:24 GMT+01:00 Yakov Goldberg :
>
>> Carnival is cool, enjoy!
>> I'll be on vacation too. See you after Feb, 25th.
>>
>> Yakov.
>>
>>
>> On 02/16/2015 02:14 AM, Martinx - ジェームズ wrote:
>>> On 15 February 2015 at 12:12, Yakov Goldberg >> <mailto:yako...@samsung.com>> wrote:
>>>
>>>  Hi!
>>>
>>>  I was happy to help and thanks for packaging.
>>>  Installation of binary works and I'm ready to explain where to put
>>>  data/config files.
>>>
>>>  One more note. This:
>>>  /$ apt-get source erigo /
>>>  produces an error:
>>>  /E: Unable to find a source package for erigo/
>>>
>>>  And I'm usually in #e and #edevelop channels.
>>>
>>>  Yakov.
>>>
>>>
>>> Cool!! I'm glad you like it!   ^_^
>>>
>>> I forgot to mention that, when you add an Ubuntu PPA repository, the
>>> source repository isn't enabled by default.
>>>
>>> To enable it, edit the following file:
>>>
>>> sudo vi /etc/apt/sources.list.d/martinx-ubuntu-enlightenment-utopic.list
>>>
>>> And remove the commentary "# " (and the extra space " ") out from the
>>> line:
>>>
>>> # deb-src http://ppa.launchpad.net/martinx/enlightenment/ubuntu utopic
>>> main
>>>
>>> You file should have at least, two lines, like this (binary / sources):
>>>
>>> deb http://ppa.launchpad.net/martinx/enlightenment/ubuntu utopic main
>>> deb-src http://ppa.launchpad.net/martinx/enlightenment/ubuntu utopic
>> main
>>> Than, you can run: "sudo apt-get update", "apt-get build-dep erigo"
>>> and "apt-get source erigo"...a
>>>
>>> I'm in the middle of brazilian carnival (small vacation for me) these
>>> days, next week, I'll join on IRC!
>>>
>>> With your help, I can work more on the package, to make it complete.
>>>
>>> Cheers!
>>
>>
>> --
>> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
>> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
>> with Interactivity, Sharing, Native Excel Exports, App Integration & more
>> Get technology previously reserved for billion-dollar corporations, FREE
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
> --
> Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
> from Actuate! Instantly Supercharge Your Business Reports and Dashboards
> with Interactivity, Sharing, Native Excel Exports, App Integration & more
> Get technology previously reserved for billion-dollar corporations, FREE
> http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-02-16 Thread Yakov Goldberg
Carnival is cool, enjoy!
I'll be on vacation too. See you after Feb, 25th.

Yakov.


On 02/16/2015 02:14 AM, Martinx - ジェームズ wrote:
> On 15 February 2015 at 12:12, Yakov Goldberg  <mailto:yako...@samsung.com>> wrote:
>
> Hi!
>
> I was happy to help and thanks for packaging.
> Installation of binary works and I'm ready to explain where to put
> data/config files.
>
> One more note. This:
> /$ apt-get source erigo /
> produces an error:
> /E: Unable to find a source package for erigo/
>
> And I'm usually in #e and #edevelop channels.
>
> Yakov.
>
>
> Cool!! I'm glad you like it!   ^_^
>
> I forgot to mention that, when you add an Ubuntu PPA repository, the 
> source repository isn't enabled by default.
>
> To enable it, edit the following file:
>
> sudo vi /etc/apt/sources.list.d/martinx-ubuntu-enlightenment-utopic.list
>
> And remove the commentary "# " (and the extra space " ") out from the 
> line:
>
> # deb-src http://ppa.launchpad.net/martinx/enlightenment/ubuntu utopic 
> main
>
> You file should have at least, two lines, like this (binary / sources):
>
> deb http://ppa.launchpad.net/martinx/enlightenment/ubuntu utopic main
> deb-src http://ppa.launchpad.net/martinx/enlightenment/ubuntu utopic main
>
> Than, you can run: "sudo apt-get update", "apt-get build-dep erigo" 
> and "apt-get source erigo"...a
>
> I'm in the middle of brazilian carnival (small vacation for me) these 
> days, next week, I'll join on IRC!
>
> With your help, I can work more on the package, to make it complete.
>
> Cheers!


--
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=190641631&iu=/4140/ostg.clktrk
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-02-15 Thread Yakov Goldberg
Hi!

I was happy to help and thanks for packaging.
Installation of binary works and I'm ready to explain where to put 
data/config files.

One more note. This:
/$ apt-get source erigo /
produces an error:
/E: Unable to find a source package for erigo/

And I'm usually in #e and #edevelop channels.

Yakov.


On 02/13/2015 12:20 AM, Martinx - ジェームズ wrote:
> Hey Yakov!
>
> Thank you for your help! It was very helpful!
>
> The first version of Erigo package is ready but, I don't think it is
> usable. I still did not have used it [Erigo], I'm just trying to
> package it.
>
> You can install it in Ubuntu 14.10, by running:
>
> 1- sudo add-apt-repository ppa:martinx/enlightenment ; sudo apt-get update
> 2- sudo apt-get install erigo
>
> That's it!
>
> Nevertheless, it is just a "draft-package" but, erigo binary is there.
> Probably, this package doesn't have everything that Erigo expects
> (missing files? I think yes)... I'm not sure if the Debian packaging
> system was able to automatically catch everything out from the Erigo
> "make install" process.
>
> Let me know if you like it! I can work more on it, to make it 100%
> useful. If you really think it is cool!   :-D
>
> To rebuild Erigo package, you just need to run:
>
> 1- sudo apt-get build-dep erigo
> 2- mkdir ~/erigo ; cd ~/erigo
> 3- apt-get source erigo
> 4- cd erigo-0.9.1
> 5- dpkg-buildpackage -rfakeroot -uc -us
> 6- Profit!
>
> My nick is ThiagoCMC @ FreeNode, which channel are you in?
>
> Best!
> Thiago
>
> On 12 February 2015 at 11:52, Yakov Goldberg  wrote:
>> Hi Thiago!
>> Thank you for instructions.
>> I tried and got the same error!
>>
>> Then I remembered that cmake uses pkg-config to find packages, so i tried:
>> pkg-config --cflags --libs edje and got this:
>> http://picpaste.com/edje-pkg-config-error-x3MEbRzr.png
>>
>> Package 'libinput', required by 'ecore-drm', not found
>> so
>> sudo apt-get install libinput-dev
>> ...then I got the same about 'gbm'
>> sudo apt-get install libgbm-dev
>>
>> Then:
>> pkg-config --cflags --libs elementary and got this:
>> http://picpaste.com/edje-pkg-config-error2-gO9D3BCv.png
>> Package 'wayland-client', required by 'ecore-wayland, not found
>> so:
>> sudo apt-get install libwayland-dev
>>
>> and it worked out! :)
>>
>> I don't know anything about packaging, but I believe you need to add some
>> more dependencies :)
>>
>> Btw, what is you IRC nickname?
>>
>> Best regards
>> Yakov
>>
>>
>>
>> On 02/12/2015 11:48 AM, Martinx - ジェームズ wrote:
>>
>> Hello Yakov!
>>
>>   Thank you for your tips! I checked the required files, it is all here
>> (apparently).
>>
>>   I really want to package Erigo, mostly because it is a "cmake-based
>> project" and I need to learn about how to package this kind of
>> projects.
>>
>>   Now, I can reproduce this problem easily, outside of a "pbuilder"
>> environment, using a minimal installation of Utopic, like this:
>>
>>
>> 1- Install Ubuntu 14.10 _Server_ from ISO CD, Minimum Install Flavor
>> (hit F4 during CD boot) - can be a small QEmu VM;
>>
>> 2- Add my PPA: "sudo apt-get install software-properties-common ; sudo
>> add-apt-repository ppa:martinx/enlightenment ; sudo apt-get update";
>>
>> 3- Install the build dependencies for Erigo, like this: "apt-get
>> install git build-essential debhelper cmake check libefl-dev
>> libelementary-dev libffi-dev libgraphviz-dev" (Am I missing something
>> here?);
>>
>> 4- Get Erigo 0.9.1 source code: "git clone
>> git://git.enlightenment.org/tools/erigo.git";
>>
>> 5- Run: "cd erigo ; mkdir build ; cd build ; cmake ..";
>>
>> 6- You'll see the error! Edge and Elementary "missing" but, they are here;
>>
>> 7- I can not run "make"...   :-/
>>
>>
>>   I still did not tried your "MESSAGE(Hello world)" advise but, I'll
>> try it today, since now I have a "real installation" (i.e. outside of
>> pbuilder chroot env) that it is easier to debug.
>>
>>   From what I'm seeing, I am missing some package(s) at "step 3" but, I
>> don't know which one is missing... If you have time to try it, I would
>> be very happy! ^_^
>>
>>   At my Ubuntu 14.10 desktop, which is full of packages, Erigo compiles
>> okay... On a bare-minimum install, it doe

[EGIT] [tools/erigo] master 01/01: Clean up Cmake script

2015-02-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=c8ae131747ba19e7c7fb8da25cebc10cc6f91726

commit c8ae131747ba19e7c7fb8da25cebc10cc6f91726
Author: Yakov Goldberg 
Date:   Thu Feb 12 17:06:25 2015 +0200

Clean up Cmake script

Remove INSTALL_PREFIX overriding in Release mode.
Don't know how it happened :)
---
 CMakeLists.txt | 4 
 1 file changed, 4 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index f405e66..846eed1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,10 +13,6 @@ endif(NOT CMAKE_BUILD_TYPE)
 string(TOLOWER ${CMAKE_BUILD_TYPE} EGUI_BUILD_TYPE)
 string(COMPARE EQUAL ${EGUI_BUILD_TYPE} release EGUI_IS_RELEASE)
 
-if (${EGUI_IS_RELEASE})
-   set(CMAKE_INSTALL_PREFIX /opt/e17)
-endif(${EGUI_IS_RELEASE})
-
 set(EGUI_COMMON_DEFINITIONS -DELM_INTERNAL_API_ARGESFSDFEFC 
-DEFL_EO_API_SUPPORT -DEFL_BETA_API_SUPPORT)
 add_definitions(${EGUI_COMMON_DEFINITIONS})
 

-- 




Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-02-12 Thread Yakov Goldberg
Hi Thiago!
Thank you for instructions.
I tried and got the same error!

Then I remembered that cmake uses pkg-config to find packages, so i tried:
/pkg-config --cflags --libs edje/ and got this:
http://picpaste.com/edje-pkg-config-error-x3MEbRzr.png

Package /*'libinput'*/, required by '*ecore-drm*', not found
so
/sudo apt-get install libinput-dev/
...then I got the same about /*'gbm'*/
/sudo apt-get install libgbm-dev/

Then:
/pkg-config --cflags --libs elementary/ and got this:
http://picpaste.com/edje-pkg-config-error2-gO9D3BCv.png
Package 'wayland-client', required by '*ecore-wayland*, not found
so:
/sudo apt-get install libwayland-dev/

and it worked out! :)

I don't know anything about packaging, but I believe you need to add 
some more dependencies :)

Btw, what is you IRC nickname?

Best regards
Yakov


On 02/12/2015 11:48 AM, Martinx - ジェームズ wrote:
> Hello Yakov!
>
>   Thank you for your tips! I checked the required files, it is all here
> (apparently).
>
>   I really want to package Erigo, mostly because it is a "cmake-based
> project" and I need to learn about how to package this kind of
> projects.
>
>   Now, I can reproduce this problem easily, outside of a "pbuilder"
> environment, using a minimal installation of Utopic, like this:
>
>
> 1- Install Ubuntu 14.10 _Server_ from ISO CD, Minimum Install Flavor
> (hit F4 during CD boot) - can be a small QEmu VM;
>
> 2- Add my PPA: "sudo apt-get install software-properties-common ; sudo
> add-apt-repository ppa:martinx/enlightenment ; sudo apt-get update";
>
> 3- Install the build dependencies for Erigo, like this: "apt-get
> install git build-essential debhelper cmake check libefl-dev
> libelementary-dev libffi-dev libgraphviz-dev" (Am I missing something
> here?);
>
> 4- Get Erigo 0.9.1 source code: "git clone
> git://git.enlightenment.org/tools/erigo.git";
>
> 5- Run: "cd erigo ; mkdir build ; cd build ; cmake ..";
>
> 6- You'll see the error! Edge and Elementary "missing" but, they are here;
>
> 7- I can not run "make"...   :-/
>
>
>   I still did not tried your "MESSAGE(Hello world)" advise but, I'll
> try it today, since now I have a "real installation" (i.e. outside of
> pbuilder chroot env) that it is easier to debug.
>
>   From what I'm seeing, I am missing some package(s) at "step 3" but, I
> don't know which one is missing... If you have time to try it, I would
> be very happy! ^_^
>
>   At my Ubuntu 14.10 desktop, which is full of packages, Erigo compiles
> okay... On a bare-minimum install, it doesn't.
>
>   BTW, I can give you root access to my build environment, no
> problem... It might save you some time...;-)
>
>   Thank you!
>
> Best,
> Thiago
>
> On 11 February 2015 at 12:24, Yakov Goldberg  wrote:
>> Hello Thiago,
>>thanks for the letter and for using Erigo :).
>>I put an answer into this branch.
>>
>>Package for Ubuntu/Debian would be cool!
>>
>> Now, about your problem.
>> efl/elementary installs its cmake files into: prefix/lib/cmake/Elementary,
>> prefix/lib/cmake/Evas etc.
>> When compiling, Erigo finds ElementaryConfing.cmake in corresponding folder.
>>
>> This message:  -- Could NOT find edje (missing: EDJE_LIBRARIES
>> EDJE_INCLUDE_DIRS)
>> says that file actually was found but there is no such variable as
>> EDJE_LIBRARIES and EDJE_INCLUDE_DIRS.
>> That's strange because Eina, Evas, Edje are in the same Efl package and only
>> Edje is not found...
>>
>> Try to look into in these files and maybe add MESSAGE(Hello world) into it,
>> so you'll see printouts during "cmake .."
>> Maybe some other file is found in your case.
>>
>> Yakov.
>>
>>
>> Hello Yakov!
>>
>> Listen, I'm trying to build Erigo using my EFL Ubuntu packages
>> (`ppa:martinx/enlightenment`) but, when I tried to build it within a
>> "pbuilder" environment, it doesn't find neither "edge" or
>> "elementary". But at my real machine, it compiles...
>>
>> Take a look:
>>
>> Real machine with `ppa:martinx/enlightenment`, okay:
>>
>> ---
>> ebuilder@e-bld-1:~/E/erigo/erigo-0.9$  mkdir build_erigo
>> ebuilder@e-bld-1:~/E/erigo/erigo-0.9$  cd build_erigo/
>> ebuilder@e-bld-1:~/E/erigo/erigo-0.9/build_erigo$  cmake ..
>> -- The C compiler identification is GNU 4.9.1
>> -- The CXX compiler identification is GNU 4.9.1
>> -- Check for working C compiler: /usr/bin/cc
>> -- Check for working C com

[E-devel] Erigo v0.9.1 is out

2015-02-11 Thread Yakov Goldberg
Hello,

I've released Erigo v0.9.1!

I believe you've noticed a bunch of commits I pushed. :)
Sorry for that, I got development/release process wrong and was already 
spanked by Tasn. So I'm going to improve myself.

We improved stability, added widgets and some features, but probably 
sometimes you will see ERROR messages. We know about it and going to fix.

Summary about current release.
|===
Erigo 0.9.1
===
Changes since 0.9.0
---
* JSON format: split "Properties" section to "Properties" and "Methods" 
sections according to Eolian.
Bindings need to locate constructors in "Methods" section with Eolian help.
* Remove Image prefix from settings. Now PROJECT_NAME_IMAGES_PATH and 
PROJECT_NAME_EDJE_PATH macros should be provided when image or edje 
resources are used.
* Add items reordering in itemview
* Add Frame widget
* Add Separator widget
* Add Evas Image widget |

ToDo:
- prettifying factory and layout in general
- add more widgets
- copy/paste widgets
- more internal improvements and stabilization

We always happy to get feedback and ideas.

Download: https://git.enlightenment.org/tools/erigo.git
Wiki: https://phab.enlightenment.org/w/projects/gui_builder/
Videos: 
https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r

Regards,
Erigo team.
Erigo team

--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/erigo] master 08/08: release: update ChangeLog and bump version for 0.9.1 release

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=239f66417ea50a20dfb907dfafa620a949dfceab

commit 239f66417ea50a20dfb907dfafa620a949dfceab
Author: Yakov Goldberg 
Date:   Thu Feb 5 12:30:20 2015 +0200

release: update ChangeLog and bump version for 0.9.1 release
---
 ChangeLog | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000..2f6ef34
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,22 @@
+===
+Erigo 0.9.1
+===
+
+Changes since 0.9.0
+---
+
+   * JSON format: split "Properties" section
+ to "Properties" and "Methods" sections according to Eolian.
+ Bindings need to locate constructors in "Methods" section with Eolian 
help.
+   * Reset JSON version to "1"
+   * DnD stabilization
+   * Objtree behaviour stabilization
+   * Remove Image prefix from settings.
+ Now PROJECT_NAME_IMAGES_PATH and PROJECT_NAME_EDJE_PATH defines are 
required
+ when image or edje resources are used.
+   * Add items reordering in itemview
+   * Add Frame widget
+   * Add Separator widget
+   * Add Evas Image widget
+   * Add generator tests
+

-- 




[EGIT] [tools/erigo] master 06/08: Refactoring: change old API to Eo API

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=bdce97b88294d92df07aaac21cd14bee5471fed9

commit bdce97b88294d92df07aaac21cd14bee5471fed9
Author: Yakov Goldberg 
Date:   Wed Feb 11 17:47:53 2015 +0200

Refactoring: change old API to Eo API
---
 src/bin/egui_gui/editor.c | 34 +++---
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index eb2fcf2..48efced 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -362,8 +362,8 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
 #undef MARKER
 #undef STR
 
-static void
-_frame_mouse_move(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object 
*fr, void *event_info)
+static Eina_Bool
+_frame_mouse_move(void *data EINA_UNUSED, Eo *fr, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
Evas_Coord ox, oy;
Evas_Event_Mouse_Move *ev = event_info;
@@ -389,6 +389,7 @@ _frame_mouse_move(void *data EINA_UNUSED, Evas *e 
EINA_UNUSED, Evas_Object *fr,
 gui_value_int_set(val, oy);
 propview_item_update(prop);
  }
+   return EO_CALLBACK_CONTINUE;
 }
 
 const Gui_Widget*
@@ -557,8 +558,8 @@ _drag_widget_start(void *data)
 
 /* Callback, called on mouse_down on window image,
  * resolves widget under a cursor. */
-static void
-_mouse_down_main(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void 
*event_info)
+static Eina_Bool
+_mouse_down_main(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info)
 {
drag_started = EINA_FALSE;
Evas_Event_Mouse_Down *ev = event_info;
@@ -585,23 +586,24 @@ _mouse_down_main(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj, void *event_
/* Start dragging only if mouse down on not main wdg. */
if (wdg != wdg_main)
  _drag_timer_start = ecore_timer_add(0.1, _drag_widget_start, wdg);
+   return EO_CALLBACK_CONTINUE;
 }
 
 /* Callback, called when press mouse button */
-static void
-_mouse_up_main(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNUSED)
+static Eina_Bool
+_mouse_up_main(void *data EINA_UNUSED, Eo *obj EINA_UNUSED, const 
Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
if (_drag_timer_start)
  {
 ecore_timer_del(_drag_timer_start);
 _drag_timer_start = NULL;
  }
-   if (!drag_started) return;
+   if (!drag_started) return EO_CALLBACK_CONTINUE;
 
if (!dnd_is_in_drop_target())
  {
 const Gui_Widget *drag_widget = dnd_drag_wdg_get();
-if (!drag_widget) return;
+if (!drag_widget) return EO_CALLBACK_CONTINUE;
 
 drag_stop();
 _wdg_border_draw(NULL, EINA_FALSE, BORDER_DROP_TARGET);
@@ -612,6 +614,7 @@ _mouse_up_main(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, vo
 objtree_build(wdg_context_get(drag_widget));
 objtree_item_selected_set(drag_widget);
  }
+   return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
@@ -950,8 +953,8 @@ _marker_mouse_out(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Event_De
return EO_CALLBACK_CONTINUE;
 }
 
-static void
-_frame_mouse_down(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object 
*obj, void *event_info EINA_UNUSED)
+static Eina_Bool
+_frame_mouse_down(void *data EINA_UNUSED, Eo *obj, const Eo_Event_Description 
*desc EINA_UNUSED, void *event_info EINA_UNUSED)
 {
Gui_Widget *wdg;
drag_started = EINA_FALSE;
@@ -963,12 +966,13 @@ _frame_mouse_down(void *data EINA_UNUSED, Evas *e 
EINA_UNUSED, Evas_Object *obj,
/* Don't use dnd for dragging window around canvas. */
if (IS_WIN(wdg))
  {
-evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE, 
_frame_mouse_move, NULL);
+eo_do(obj, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_MOVE, 
_frame_mouse_move, NULL));
  }
else
  {
 _drag_timer_start = ecore_timer_add(0.1, _drag_widget_start, wdg);
  }
+   return EO_CALLBACK_CONTINUE;
 }
 
 static Eina_Bool
@@ -978,7 +982,7 @@ _frame_mouse_up(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *des
/* Don't use dnd for dragging window around canvas. */
if (IS_WIN(wdg))
  {
-evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_MOVE, 
_frame_mouse_move);
+eo_do(obj, eo_event_callback_del(EVAS_OBJECT_EVENT_MOUSE_MOVE, 
_frame_mouse_move, NULL));
  }
else
  {
@@ -2395,13 +2399,13 @@ _widget_add(Gui_Session *session, const Gui_Widget 
*wdg, void *data)
evas_obj_visibility_set(EINA_TRUE),
elm_obj_frame_autocollapse_set(EINA_TRUE));
 
- evas_object_event_callback_add(fr, EVAS_CALLBACK_MOUSE_DOWN, 
_frame_mouse_down, NULL);
+ eo_do(fr, eo_event_callback_add(EVAS_OBJECT_EVENT_MOUSE_DOWN, 
_frame_mouse_down, NULL));
 

[EGIT] [tools/erigo] master 07/08: Update README

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=e6fbd786636c0a1f0a46dda0f0ba111745d9e29f

commit e6fbd786636c0a1f0a46dda0f0ba111745d9e29f
Author: Yakov Goldberg 
Date:   Wed Feb 11 11:55:21 2015 +0200

Update README
---
 README | 31 +--
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/README b/README
index 8412eec..3629903 100644
--- a/README
+++ b/README
@@ -1,13 +1,13 @@
-[Erigo v0.9]
+[Erigo v0.9.1]
+   See ChangeLog file for updates
 
 [Links to read]
https://phab.enlightenment.org/w/projects/gui_builder/
http://yakov-g.blogspot.co.il/2013/04/egui-efl-gui-builder.html
 
-
 [Erigo - EFL GUI Builder]
 
-   Introducing Erigo (v.0.9) - the EFL gui builder.
+   Introducing Erigo - the EFL gui builder.
 It enables you easily create user interface for your application. 
 You can easily build multi-windowed application, simulate its behavior without 
compiling, 
 generate sources in different languages (currently C).
@@ -19,10 +19,11 @@ generate sources in different languages (currently C).
 
 [Compiling and installing]
[Source Download]
-  https://git.enlightenment.org/devs/yakov/egui.git/
+  https://git.enlightenment.org/tools/erigo.git/
 
[Dependencies]
   Mandatory:
+ - EFL, Elementary version >= 1.13
  - CMake
  - FFI LIbrary (Ubuntu: sudo apt-get install libffi6 libffi6-dbg 
libffi-dev)
 
@@ -38,21 +39,26 @@ generate sources in different languages (currently C).
 
[Installing]
   (run from "build" directory)
+  $ sudo make install
+
+   [Unstalling]
+  (run from "build" directory)
+  $ sudo make uninstall
 
[Using Erigo]
   [Command line]
 
  Start:
-$ ./src/bin/egui ../examples/example.egui
+$ erigo project.egui
 
  Simulation:
-$ ./src/bin/egui -s [Desktop/Phone/Tablet] ../examples/example.egui
+$ erigo -s [Desktop/Phone/Tablet] project.egui
 
- Export to C ("filename.c" and "filename.h" will be generated):
-$ ./src/bin/egui -e c -o filename ../examples/example.egui
+ Generate C file:
+$ erigo -gc -o filename.c project.egui 
 
-  Export to JSON ("filename" generated):
-$ ./src/bin/egui -e json -o filename ../examples/example.egui
+ Generate H file:
+$ erigo -gh -o filename.h project.egui 
 
   [User Interface]
  Top - Actions Toolbar:
@@ -80,7 +86,6 @@ generate sources in different languages (currently C).
 
   [Project Settings]
  Set Project name - used in structure's, function's, variable's names 
in generated code.
- Set Images prefix name: - give the name of define which will provide 
prefix path for app's images.
  Set Start Points - define main objects which will be created on 
application start.
 
   [Object tree view]
@@ -229,11 +234,9 @@ generate sources in different languages (currently C).
   Add edje resource through Resource Manager. Open layout's "File" 
property and assign edje with needed part name.
 
[Technical notes]
-   Current version is 0.9.
+   Current version is 0.9.1
ToDo:
-  - install script;
   - fix drag and drop errors;
-  - add testing;
   - widgets multiselection and copy/paste;
   - cosmetics.
 

-- 




[EGIT] [tools/erigo] master 05/08: Add items reordering in itemview

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=b81de27d139edafa82d9c0db48bd2afe81154424

commit b81de27d139edafa82d9c0db48bd2afe81154424
Author: Yakov Goldberg 
Date:   Wed Feb 11 17:20:04 2015 +0200

Add items reordering in itemview
---
 src/bin/egui_gui/editor.c | 42 +---
 src/bin/egui_gui/egui_layout.json | 84 ---
 src/bin/egui_gui/itemview.c   | 18 -
 src/bin/egui_gui/itemview.h   |  4 +-
 src/bin/egui_gui/objtree.c|  1 +
 src/lib/gui_widget.c  | 33 +++
 src/lib/gui_widget.h  |  3 ++
 7 files changed, 172 insertions(+), 13 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 429a9bf..eb2fcf2 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -3645,6 +3645,7 @@ _itemview_item_selected(void *data EINA_UNUSED, 
Evas_Object *obj EINA_UNUSED, vo
 static Eina_Bool
 _itemview_item_do_(unsigned int type)
 {
+   Eina_Bool reload = EINA_TRUE;
static int i = -1;
i++;
Item_Container_Item *wit = NULL, *parent_it = NULL;
@@ -3744,6 +3745,25 @@ _itemview_item_do_(unsigned int type)
 
 item_container_item_set_on_id(item_container_item_eid_get(parent_it), 
new_parent_item);
  }
+   else if (type == ITEM_MOVE_UP || (type == ITEM_MOVE_DOWN))
+ {
+if (!wit) return EINA_FALSE;
+parent_it = (Item_Container_Item *) 
item_container_item_parent_item_get(wit);
+
+new_parent_item = item_container_item_copy(parent_it);
+
+/* Ref old parent it, because it will be unreffed in _set_on_id() */
+item_container_item_ref(parent_it);
+item_container_item_set_on_id(item_container_item_eid_get(parent_it), 
new_parent_item);
+
+intptr_t dir = (type == ITEM_MOVE_UP) ? UP : DOWN;
+if ((reload = item_container_item_reorder(wit, dir)))
+  {
+ Gui_Memento *memento = gui_memento_new(wdg_eid_get(wdg), 
MEMENTO_ITEM_CONTAINER_ITEM, parent_it, new_parent_item);
+ gui_context_memento_add((Gui_Context *) ctx, memento);
+  }
+item_container_item_unref(parent_it);
+ }
 
/* Adding item to widget and parent item
 * If some item is selected and we add item, we add it after. */
@@ -3767,14 +3787,24 @@ _itemview_item_do_(unsigned int type)
 item_container_item_eid_get(it));
   break;
}
+  case ITEM_MOVE_UP:
+  case ITEM_MOVE_DOWN:
+   {
+  break;
+   }
+  default:
+ ERR("case - default");
  }
 
-   _wdg_parent_win_reload(wdg);
-   proplayout_build(NULL);
-   _editor_wdg_selected_set(wdg);
-   objtree_build(ctx);
-   objtree_item_selected_set(wdg);
-   itemview_item_selected_set(it);
+   if (reload)
+ {
+_wdg_parent_win_reload(wdg);
+proplayout_build(NULL);
+_editor_wdg_selected_set(wdg);
+objtree_build(ctx);
+objtree_item_selected_set(wdg);
+itemview_item_selected_set(it);
+ }
 
return EO_CALLBACK_CONTINUE;
 }
diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index 7eded62..fd9b7e2 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -33,7 +33,9 @@
   "_proplayout_toolbar_clicked":"_proplayout_toolbar_clicked",
   "_contentview_up_btn_clicked":"_contentview_up_btn_clicked",
   "_contentview_down_btn_clicked":"_contentview_down_btn_clicked",
-  "_contentview_del_btn_clicked":"_contentview_del_btn_clicked"
+  "_contentview_del_btn_clicked":"_contentview_del_btn_clicked",
+  "_itemview_up_btn_clicked":"_itemview_up_btn_clicked",
+  "_itemview_down_btn_clicked":"_itemview_down_btn_clicked"
 }
   },
   "Widgets":
@@ -2940,7 +2942,7 @@
 "Evas.Object.size_hint_weight":[1, 0],
 "Evas.Object.size_hint_align":[-1, 0]
   },
-  "Contains":["itemview_add_item_but", "itemview_add_item_nested_but", 
"itemview_add_separator_but", "itemview_del_item_but"]
+  "Contains":["itemview_add_item_but", "itemview_add_item_nested_but", 
"itemview_add_separator_but", "itemview_up_btn", "itemview_down_btn", 
"itemview_del_item_but"]
 },
 "itemview_add_item_but":
 {
@@ -3004,14 +3006,56 @@
   },
   "Properties":
   {
-"Elm_Widget.part_text":[null, "Delete Item"],
-"Evas.Object.visibility":[true]
+"Evas.Object.visibility":[true],
+"Elm_Widget.part_text":[null, "X"]
   },
   "

[EGIT] [tools/erigo] master 03/08: Add up/down images for reorder buttons into layout

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=5a8ec13800d24f3d8fb7d06cdc37d59d2bcfaca5

commit 5a8ec13800d24f3d8fb7d06cdc37d59d2bcfaca5
Author: Yakov Goldberg 
Date:   Sun Feb 8 16:17:41 2015 +0200

Add up/down images for reorder buttons into layout
---
 src/bin/egui_gui/egui_layout.json | 80 ++-
 src/bin/egui_gui/egui_logic.c | 14 ---
 2 files changed, 79 insertions(+), 15 deletions(-)

diff --git a/src/bin/egui_gui/egui_layout.json 
b/src/bin/egui_gui/egui_layout.json
index 17c7b7a..7eded62 100644
--- a/src/bin/egui_gui/egui_layout.json
+++ b/src/bin/egui_gui/egui_layout.json
@@ -10,7 +10,9 @@
 "Images":
 {
   "res_canvas_bg":"data/images/canvas_bg.jpg",
-  "erigo_icon":"data/images/erigo_icon.png"
+  "erigo_icon":"data/images/erigo_icon.png",
+  "move_up_icon":"/home/yakov/erigo/data/images/icon_up_arrow.png",
+  "move_down_icon":"/home/yakov/erigo/data/images/icon_down_arrow.png"
 },
 "Eo_Callbacks":
 {
@@ -2739,6 +2741,10 @@
   "Callbacks":
   {
 "clicked":["Invoke", "_callbacksview_up_btn_clicked", null]
+  },
+  "Contains":
+  {
+"callbacksview_up_btn_icon":[null]
   }
 },
 "callbacksview_down_btn":
@@ -2756,6 +2762,10 @@
   "Callbacks":
   {
 "clicked":["Invoke", "_callbacksview_down_btn_clicked", null]
+  },
+  "Contains":
+  {
+"callbacksview_down_btn_icon":[null]
   }
 },
 "callbacksview_del_btn":
@@ -2857,6 +2867,10 @@
   "Callbacks":
   {
 "clicked":["Invoke", "_contentview_down_btn_clicked", null]
+  },
+  "Contains":
+  {
+"contentview_down_btn_icon":[null]
   }
 },
 "contentview_up_btn":
@@ -2874,6 +2888,10 @@
   "Callbacks":
   {
 "clicked":["Invoke", "_contentview_up_btn_clicked", null]
+  },
+  "Contains":
+  {
+"contentview_up_btn_icon":[null]
   }
 },
 "itemview_box":
@@ -2993,6 +3011,66 @@
   {
 "clicked":["Invoke", "_itemview_item_del_but_clicked_cb", null]
   }
+},
+"contentview_up_btn_icon":
+{
+  "Desc":
+  {
+"parent":"contentview_up_btn",
+"class":"Elm_Icon"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.size":[40, 40],
+"Efl.File.file":["move_up_icon", null]
+  }
+},
+"contentview_down_btn_icon":
+{
+  "Desc":
+  {
+"parent":"contentview_down_btn",
+"class":"Elm_Icon"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.size":[40, 40],
+"Efl.File.file":["move_down_icon", null]
+  }
+},
+"callbacksview_up_btn_icon":
+{
+  "Desc":
+  {
+"parent":"callbacksview_up_btn",
+"class":"Elm_Icon"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.size":[40, 40],
+"Efl.File.file":["move_up_icon", null]
+  }
+},
+"callbacksview_down_btn_icon":
+{
+  "Desc":
+  {
+"parent":"callbacksview_down_btn",
+"class":"Elm_Icon"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.size":[40, 40],
+"Efl.File.file":["move_down_icon", null]
+  }
 }
   }
  }
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index 637316e..61234f0 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -838,14 +838,6 @@ _canvas_bg_show_on_idle(void *data EINA_UNUSED)
 }
 
 static void
-_assign_image_to_button(Eo *btn, const char* path)
-{
-  Eo *ic = eo_add(ELM_ICON_CLASS, btn);
-  eo_do(ic, efl_file_set(path, NULL));
-  eo_do(btn, elm_obj_container_

[EGIT] [tools/erigo] master 01/08: Fix parent set when unsetting obj containers

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=f7c9c69072ebdacbcdb3613c67b72b5b7012497b

commit f7c9c69072ebdacbcdb3613c67b72b5b7012497b
Author: Yakov Goldberg 
Date:   Sun Feb 8 15:18:55 2015 +0200

Fix parent set when unsetting obj containers
---
 src/lib/gui_widget.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c
index a3adeae..92c1104 100644
--- a/src/lib/gui_widget.c
+++ b/src/lib/gui_widget.c
@@ -1673,7 +1673,9 @@ wdg_obj_container_unset(Gui_Widget *wdg)
 Eid *eid = obj_container_item_eid_get(ci);
 Gui_Widget *w = NULL;
 if (eid) w = wdg_get(eid);
-if (w)
+/* Change widget's parent only if current parent is this container.
+ * If not, it means that parent was already changed. */
+if (w && (wdg == wdg_parent_get(w)))
   {
  const Gui_Widget *parent_win = wdg_main_wdg_get(w);
  wdg_parent_set(w, wdg_name_get(parent_win));

-- 




[EGIT] [tools/erigo] master 04/08: Refactoring editor: changin 'if' to 'switch'

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=162e60fb28a2d15128f95147f74868b7c4fdbaa7

commit 162e60fb28a2d15128f95147f74868b7c4fdbaa7
Author: Yakov Goldberg 
Date:   Tue Feb 10 13:40:11 2015 +0200

Refactoring editor: changin 'if' to 'switch'
---
 src/bin/egui_gui/editor.c | 31 +++
 1 file changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 411bcdf..429a9bf 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -3747,19 +3747,26 @@ _itemview_item_do_(unsigned int type)
 
/* Adding item to widget and parent item
 * If some item is selected and we add item, we add it after. */
-   if (type == ITEM_DELETE)
+   switch (type)
  {
-itemview_item_del(wit);
-wdg_item_remove(selected_item_id);
- }
-   else
- {
-wdg_item_insert_after(wdg, new_parent_item, wit, it);
-/* Insert 'it' after selected 'wit' in the Items List.
- * if wit == NULL, item will be added in the end. */
-itemview_insert_after(item_container_item_eid_get(parent_it),
-  item_container_item_eid_get(wit),
-  item_container_item_eid_get(it));
+  case ITEM_DELETE:
+   {
+  itemview_item_del(wit);
+  wdg_item_remove(selected_item_id);
+  break;
+   }
+  case ITEM_ADD:
+  case ITEM_ADD_NESTED:
+  case SEPARATOR_ADD:
+   {
+  wdg_item_insert_after(wdg, new_parent_item, wit, it);
+  /* Insert 'it' after selected 'wit' in the Items List.
+   * if wit == NULL, item will be added in the end. */
+  itemview_insert_after(item_container_item_eid_get(parent_it),
+item_container_item_eid_get(wit),
+item_container_item_eid_get(it));
+  break;
+   }
  }
 
_wdg_parent_win_reload(wdg);

-- 




[EGIT] [tools/erigo] master 02/08: Elm_Icon takes default size prop from Elm_Image

2015-02-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=59710bff28f342dcde41dea973c374e7346141bf

commit 59710bff28f342dcde41dea973c374e7346141bf
Author: Yakov Goldberg 
Date:   Sun Feb 8 16:58:16 2015 +0200

Elm_Icon takes default size prop from Elm_Image
---
 data/config/func_names.json | 1 -
 1 file changed, 1 deletion(-)

diff --git a/data/config/func_names.json b/data/config/func_names.json
index 584f4e0..f7f7c01 100644
--- a/data/config/func_names.json
+++ b/data/config/func_names.json
@@ -31,7 +31,6 @@
   },
 "Elm_Icon":
   {
- "Evas.Object.size":[40, 40]
   },
 "Elm_Image":
   {

-- 




Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-02-11 Thread Yakov Goldberg
Hello Thiago,
   thanks for the letter and for using Erigo :).
   I put an answer into this branch.

   Package for Ubuntu/Debian would be cool!

Now, about your problem.
efl/elementary installs its cmake files into: 
prefix/lib/cmake/Elementary, prefix/lib/cmake/Evas etc.
When compiling, Erigo finds ElementaryConfing.cmake in corresponding folder.

This message:  -- Could NOT find edje (missing: EDJE_LIBRARIES 
EDJE_INCLUDE_DIRS)
says that file actually was found but there is no such variable as 
EDJE_LIBRARIES and EDJE_INCLUDE_DIRS.
That's strange because Eina, Evas, Edje are in the same Efl package and 
only Edje is not found...

Try to look into in these files and maybe add MESSAGE(Hello world) into 
it, so you'll see printouts during "cmake .."
Maybe some other file is found in your case.

Yakov.


Hello Yakov!

Listen, I'm trying to build Erigo using my EFL Ubuntu packages
(`ppa:martinx/enlightenment`) but, when I tried to build it within a
"pbuilder" environment, it doesn't find neither "edge" or
"elementary". But at my real machine, it compiles...

Take a look:

Real machine with `ppa:martinx/enlightenment`, okay:

---
ebuilder@e-bld-1:~/E/erigo/erigo-0.9$  mkdir build_erigo
ebuilder@e-bld-1:~/E/erigo/erigo-0.9$  cd build_erigo/
ebuilder@e-bld-1:~/E/erigo/erigo-0.9/build_erigo$  cmake ..
-- The C compiler identification is GNU 4.9.1
-- The CXX compiler identification is GNU 4.9.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - donethiagocmarti...@gmail.com
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- Found eina: /usr/lib/x86_64-linux-gnu/libeina.so
-- Found eo: /usr/lib/x86_64-linux-gnu/libeo.so
-- Found eolian: /usr/lib/x86_64-linux-gnu/libeolian.so
-- Found ecore: /usr/lib/x86_64-linux-gnu/libecore.so
-- Found evas: /usr/lib/x86_64-linux-gnu/libevas.so
-- Found edje: /usr/lib/x86_64-linux-gnu/libedje.so
-- Found elementary: /usr/lib/x86_64-linux-gnu/libelementary.so
-- Found ffi: /usr/lib/x86_64-linux-gnu/libffi.so
-- Found check: /usr/lib/x86_64-linux-gnu/libcheck.a
-- Found gvc: /usr/lib/libgvc.so
-- Found cgraph: /usr/lib/libcgraph.so
-- Configuring done
-- Generating done
-- Build files have been written to:
/home/ebuilder/E/erigo/erigo-0.9/build_erigo
---

Within the "pbuilder" environment with the same
`ppa:martinx/enlightenment`, not okay:

---
root@builder-1-i-00a2:~/erigo-0.9#  mkdir build_erigo
root@builder-1-i-00a2:~/erigo-0.9#  cd build_erigo/
root@builder-1-i-00a2:~/erigo-0.9/build_erigo#  cmake ..
-- The C compiler identification is GNU 4.9.1
-- The CXX compiler identification is GNU 4.9.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
-- Found eina: /usr/lib/x86_64-linux-gnu/libeina.so
-- Found eo: /usr/lib/x86_64-linux-gnu/libeo.so
-- Found eolian: /usr/lib/x86_64-linux-gnu/libeolian.so
-- Found ecore: /usr/lib/x86_64-linux-gnu/libecore.so
-- Found evas: /usr/lib/x86_64-linux-gnu/libevas.so
-- Could NOT find edje (missing:  EDJE_LIBRARIES EDJE_INCLUDE_DIRS)
-- Could NOT find elementary (missing:  ELEMENTARY_LIBRARIES
ELEMENTARY_INCLUDE_DIRS)
-- Found ffi: /usr/lib/x86_64-linux-gnu/libffi.so
-- Found check: /usr/lib/x86_64-linux-gnu/libcheck.a
-- Found gvc: /usr/lib/libgvc.so
-- Found cgraph: /usr/lib/libcgraph.so
CMake Error: The following variables are used in this project, but
they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the
CMake files:
EDJE_LIBRARY (ADVANCED)
 linked by target "erigo" in directory 
/tmp/buildd/erigo-0.9/src/bin/egui_gui
ELEMENTARY_LIBRARY (ADVANCED)
 linked by target "guiparser" in directory /tmp/buildd/erigo-0.9/src/lib
 linked by target "erigo_cmd" in directory /tmp/buildd/erigo-0.9/src/bin
 linked by target "erigo" in directory 
/tmp/buildd/erigo-0.9/src/bin/egui_gui

-- Configuring incomplete, errors occurred!
See also "/tmp/buildd/erigo-0.9/build_erigo/CMakeFiles/CMakeOutput.log".
---

See it? It doesn't find neither "edge" or "elementary" but, the
packages (and headers) are there...

CMakeOutput.log:http://pastebin.com/y7aZufcG  - I think I copied and
pasted it entirely.

---
root@builder-1-i-00a2:~/erigo-0.9/build_erigo#  file
/usr/lib/x86_64-linux-gnu/libedje.so
/usr/lib/x86_64-linux-gnu/libedje.so: symbolic link to `libedje.so.1.13.0'
root@builder-1-i-00a2:~/erigo-0.9/build_erigo#  file
/usr

[EGIT] [tools/erigo] master 01/01: Fix starting Erigo with 'erigo filename' when filename don't exist

2015-01-28 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=6f42e88005c2f49f90c4661788062010eb3c1618

commit 6f42e88005c2f49f90c4661788062010eb3c1618
Author: Yakov Goldberg 
Date:   Wed Jan 28 15:06:49 2015 +0200

Fix starting Erigo with 'erigo filename' when filename don't exist
---
 src/bin/egui_gui/egui_logic.c | 36 +---
 src/bin/main.c|  2 +-
 2 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index c10aa67..bc17c8b 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -1010,11 +1010,41 @@ egui_stop()
 }
 
 void
-egui_project_open(char *filename)
+egui_project_open(char *path)
 {
-   if (filename)
+   if (path)
  {
-if (_guilogic_cbs->_project_new(filename))
+Eina_Bool post_open = EINA_FALSE;
+/* If file exists try open it. */
+if (ecore_file_exists(path))
+  {
+ if (_guilogic_cbs->_project_new(path))
+   {
+  post_open = EINA_TRUE;
+   }
+  }
+/* If not, create new file. */
+else
+  {
+ if (_guilogic_cbs->_project_new(NULL))
+   {
+  const Gui_Context *ctx = _active_context_get();
+
+  char *_dir = ecore_file_dir_get(path);
+  const char *filename = ecore_file_file_get(path);
+
+  gui_context_project_name_set((Gui_Context *) ctx, filename);
+  gui_context_project_path_set((Gui_Context *) ctx, _dir);
+  gui_context_project_filename_set((Gui_Context *) ctx, 
filename);
+  generator_ctx_source_generate(ctx, GENERATE_JSON);
+  _canvas_name_update(ctx);
+
+  free(_dir);
+  post_open = EINA_TRUE;
+   }
+  }
+
+if (post_open)
   {
  _canvas_name_update(_active_context_get());
  _menu_item_disabled_set(project_menu, ITEM_OPEN, EINA_TRUE);
diff --git a/src/bin/main.c b/src/bin/main.c
index ab72874..158eae2 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -227,7 +227,7 @@ main(int argc, char **argv)
}
  if (!ecore_file_exists(dd))
{
-  printf("Path can not exist: \"%s\"\n", argv[optind]);
+  printf("Path doesn't not exist: \"%s\"\n", argv[optind]);
   goto end;
}
  char *dd_realpath = ecore_file_realpath(dd);

-- 




[EGIT] [tools/erigo] master 01/01: DnD: create dragged widget inside dragwindow

2015-01-28 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=a5f042e430037e436a71d1efdeee5c950adbb87f

commit a5f042e430037e436a71d1efdeee5c950adbb87f
Author: Yakov Goldberg 
Date:   Thu Jan 22 17:51:54 2015 +0200

DnD: create dragged widget inside dragwindow

Before, dragged widget was created and positioned manually, which caused
bugs. Now real object is created inside dragwindow.
---
 src/bin/egui_gui/dnd.c| 142 ++
 src/bin/egui_gui/dnd.h|   9 +++
 src/bin/egui_gui/editor.c | 102 +++---
 src/bin/egui_gui/egui_logic.c |  57 -
 4 files changed, 191 insertions(+), 119 deletions(-)

diff --git a/src/bin/egui_gui/dnd.c b/src/bin/egui_gui/dnd.c
index 12c8f74..622a53b 100644
--- a/src/bin/egui_gui/dnd.c
+++ b/src/bin/egui_gui/dnd.c
@@ -5,12 +5,17 @@
 #include "egui_log.h"
 #include "egui_layout.h"
 #include "gui_widget.h"
+#include "ffi_glue.h"
+#include "ffi_abstraction.h"
+
+#include "elm_widget.h"
 
 typedef struct
 {
const char *data; /*DnD data*/
Eo *image; /* image for DnD icon. */
Eo *obj; /*object, where drag starts */
+   Eo *drag_window_obj; /* Object inside drag window. neede to hide it. */
const Gui_Widget *wdg; /* let's think about it as about DnD data. */
 
void (*_drag_start_cb)(const Gui_Widget *wdg, const Eo *obj);
@@ -44,7 +49,6 @@ typedef struct
 #define DROP_TARGET "__drop_target__"
 
 static DnD_Info _dnd_info;
-int aa;
 
 /* Determine if dragged object is inside droppable. */
 Eina_Bool
@@ -71,6 +75,12 @@ dnd_drag_wdg_get()
return _dnd_info.drag_info->wdg;
 }
 
+void
+dnd_drag_window_object_visibility_set(Eina_Bool visibility)
+{
+   eo_do(_dnd_info.drag_info->drag_window_obj, 
evas_obj_visibility_set(visibility));
+}
+
 static void
 _dragpos(void *data EINA_UNUSED, Eo * obj EINA_UNUSED, Evas_Coord x 
EINA_UNUSED, Evas_Coord y EINA_UNUSED, Elm_Xdnd_Action action EINA_UNUSED)
 {
@@ -280,11 +290,11 @@ _droppos(void *data, Eo *obj, Evas_Coord x, Evas_Coord y, 
Elm_Xdnd_Action action
 }
 
 static Evas_Object *
-_image_create_icon(void *data, Evas_Object *parent, Evas_Coord *xoff, 
Evas_Coord *yoff)
+_drag_factory_image_icon_create(void *data, Evas_Object *parent, Evas_Coord 
*xoff, Evas_Coord *yoff)
 {
-   //if (!data) return NULL;
+   Drag_Info *di = data;
Evas_Object *ic = NULL;
-   Evas_Object *io = data;
+   Evas_Object *io = di->image;
const char *f, *g;
Evas_Coord x, y, w, h, xm, ym;
 
@@ -292,32 +302,142 @@ _image_create_icon(void *data, Evas_Object *parent, 
Evas_Coord *xoff, Evas_Coord
ic = elm_image_add(parent);
elm_image_file_set(ic, f, g);
evas_object_geometry_get(io, &x, &y, &w, &h);
-   evas_object_move(ic, x, y);
evas_object_resize(ic, 40, 40);
evas_object_show(ic);
 
-   evas_pointer_canvas_xy_get(evas_object_evas_get(io), &xm, &ym);
+   evas_pointer_canvas_xy_get(evas_object_evas_get(di->obj), &xm, &ym);
if (xoff) *xoff = xm - 30;
if (yoff) *yoff = ym - 30;
 
return ic;
 }
 
+static Evas_Object *
+_drag_factory_real_object_create(void *data, Evas_Object *parent, Evas_Coord 
*xoff, Evas_Coord *yoff)
+{
+   Drag_Info *di = data;
+   Evas_Object *ic = NULL;
+   Evas_Coord xc, yc;
+
+   evas_pointer_canvas_xy_get(evas_object_evas_get(di->obj), &xc, &yc);
+   if (xoff) *xoff = xc;
+   if (yoff) *yoff = yc;
+
+   const char *drag_obj_class_name = di->data;
+   const Eo_Class* (*kl_func)();
+   kl_func = db_class_func_get(drag_obj_class_name);
+   ic = eo_add(kl_func(), parent);
+   eo_do(ic, evas_obj_visibility_set(EINA_TRUE),
+ elm_obj_widget_part_text_set(NULL, drag_obj_class_name));
+   di->drag_window_obj = ic;
+
+   return ic;
+}
+
+/* Iteration to create dragged representation of object. */
+static Eo*
+_iter_dragged_widget_create(Gui_Session *session, const Gui_Widget *wdg, Eo 
*parent_win)
+{
+   const Eina_List *children = NULL, *l;
+   Eid *wid;
+
+   /* Windows are iterated separately. If parent is NULL, means that current 
object is not win.
+* If iterated object is win, I create it as inlined_image and add frame to 
simulate win.*/
+   Eo *o = _ffi_eo_add(session, wdg, parent_win);
+
+   if (o)
+ {
+session_eo_set(session, wdg, o);
+manager_widget_configure(session, wdg, MODE_EDITOR, NULL);
+children = wdg_children_list_get(wdg);
+EINA_LIST_FOREACH(children, l, wid)
+  {
+ Gui_Widget *w = wdg_get(wid);
+ /* Window can not have child windows, so pass NULL. */
+ if (w) _iter_dragged_widget_create(session, w, NULL);
+  }
+ }
+   return o;
+}
+
+/* Creates Eo object for given widget and parent.
+ * Func is used to greate Eo object in dragwin and in the windo when in/out. */
+Eo*
+dnd_drag_obj_create(const 

Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Yakov Goldberg
Hi Davide,


On 01/26/2015 12:22 AM, Davide Andreoli wrote:
> Hi all,
> the python-efl integration for erigo is quite finished, you can try it
> using my pyefl branch:
> devs/davemds/erigo_generator
> Everything is really simple, the only file that implement the generator is
> this:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
>
> and this the incredible simple example:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
>
> that load this json file:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
>
> In practice you just need to subclass the ErigoGui class provided, create
> an instance
> passing the json file and implement your callback inside this class. Thats
> it!
> Example usage:
>
> from efl import elementaryfrom efl.utils.erigo import ErigoGui
>
> class MyGui(ErigoGui):
>  def btn_clicked_cb(self, btn):
>  print('User clicked a button', btn)
>  ...and all other widdget callbacks
>
> egui = MyGui('path/to/json_file')
>
>
> Nothing more :)
>
> And now the real purpose of this mail: the issue we need to resolve to
> complete the work,
> in random order:
>
> *1. Classes custom constructor*
> In the json file the custom constructor (and their params)  are listed
> inside the Properties
> list, this is quite annoying for my implementation and seems to me quite
> wrong.
> Why don't you move that in the  "Desc" section of the widget? along the
> "class" attribute?
> It seems to me more natural this way. Example:
>
> "elm_win1":
>  {
>"Desc":
>{
>  "parent":null,
>  "class":"Elm_Win",
>  "Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
>  "public":true
>},
>"Properties":
>{
>  "Evas.Object.visibility":[true],
>  "Evas.Object.size":[381, 480],
>}
> }
>
> Or still better just as:
> "constructor":[null, "ELM_WIN_BASIC"]
Until now I was fetching constructor as a method which contains 
"constructor" in it's name.
And as I remember it was so in Eolian.
Now, in eo file, there is a list of methods and  section "constructors" 
that lists methods which are constructors.
So we can't simply put "constructor" key into "Desc" now. read the 
rest  after #4
>
> *2. The Win **mainmenu*
> Every window have a mainmenu, in the json I always find the specification
> of a Menu widget but it is not a children of other widgets nor it is
> a resize object of the window. How can I know about it? How can I know
> it is the mainmenu of the window? How did you implemented this in the
> preview?
Right, need to work on it. I'm checking if "main_menu" is in widget name :)
>
> *3. The "visibility" property*
> I spoken with Tasn yet about this, and opened a ticket on phab (T2035),
> I really think we must rename this to "visible"
>
> *4. Function call as properties*
> There are some rare case where the json file have functions call inside
> the "Properties" section of a widget, for example in the Radio widget:
> "Properties":
> {
> "Evas.Object.size_hint_weight":[1, 1],
> "Evas.Object.visibility":[true],
> "Elm_Radio.group_add":["elm_radio1"],
>   },
>
> group_add in this case is a function not a property, not that this
> create me too much problem, it's easy to manage in python, it just
> slow down the process a little bit, as I need to check at runtime
> if that is a prop or not. Maybe is better to have a "Functions"
> sections? Would be better for my implementation and seems more
> correct.
In general we have properties and methods, some of methods are constructors.
On some steps we need to differ ones from another.
Erigo works with Eolian so we can simply know method's type. (Actually 
we only need to fetch constructors out of methods).

But we need to find solution for bindings.
First: each, who writes generator for Erigo, checks function's type by 
himself in Eolian.
Second: Eolian-like library that provides access to Json (as JackDanielz 
' describes in this branch)
First two are fine for code generations (not runtime).
Third: current case - runtime parsing in Python.
For this case we can generate three separate sections (Constructors, 
Properties, Methods).
Or two sections: "Proerties" and "Methods"- in this case need to 
check if method is constructor.
Slow, but helps to detect if method, that already existed, was added 
to "Constructors" section in Eolian eo-file.
(which is rare and actually is API break, so must be noted somewhere)



> *5. Enums*
> Now enums are written in the json files as if they where normal
> strings, for example:
>
> "Elm_Win.constructor":["dia-win", "ELM_WIN_DIALOG_BASIC"]
>
> I solved this yet, but with an hackish and slow solution, it could be
> better if we can find a way to express them in a way that they don't

Re: [E-devel] Erigo + PythonEFL = WOW !!

2015-01-26 Thread Yakov Goldberg
Hey  Davide,
that's cool :)

I installed everything and played with it: changed your test_gui.egui in 
Erigo and run it again through erigo.py! Great!

Just could you explain something.
   You don't generate Python from Json.
   As I understand you read Json, save this data internally and call 
it when needed, which doesn't actually matter in terms of speed and 
convenience for Python, right?

The rest is on the way...


On 01/26/2015 12:22 AM, Davide Andreoli wrote:
> Hi all,
> the python-efl integration for erigo is quite finished, you can try it
> using my pyefl branch:
> devs/davemds/erigo_generator
> Everything is really simple, the only file that implement the generator is
> this:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/efl/utils/erigo.py?h=devs/davemds/erigo_generator
>
> and this the incredible simple example:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/test_erigo.py?h=devs/davemds/erigo_generator
>
> that load this json file:
> https://git.enlightenment.org/bindings/python/python-efl.git/tree/examples/elementary/erigo_prj/test_gui.egui?h=devs/davemds/erigo_generator
>
> In practice you just need to subclass the ErigoGui class provided, create
> an instance
> passing the json file and implement your callback inside this class. Thats
> it!
> Example usage:
>
> from efl import elementaryfrom efl.utils.erigo import ErigoGui
>
> class MyGui(ErigoGui):
>  def btn_clicked_cb(self, btn):
>  print('User clicked a button', btn)
>  ...and all other widdget callbacks
>
> egui = MyGui('path/to/json_file')
>
>
> Nothing more :)
>
> And now the real purpose of this mail: the issue we need to resolve to
> complete the work,
> in random order:
>
> *1. Classes custom constructor*
> In the json file the custom constructor (and their params)  are listed
> inside the Properties
> list, this is quite annoying for my implementation and seems to me quite
> wrong.
> Why don't you move that in the  "Desc" section of the widget? along the
> "class" attribute?
> It seems to me more natural this way. Example:
>
> "elm_win1":
>  {
>"Desc":
>{
>  "parent":null,
>  "class":"Elm_Win",
>  "Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
>  "public":true
>},
>"Properties":
>{
>  "Evas.Object.visibility":[true],
>  "Evas.Object.size":[381, 480],
>}
> }
>
> Or still better just as:
> "constructor":[null, "ELM_WIN_BASIC"]
>
>
> *2. The Win **mainmenu*
> Every window have a mainmenu, in the json I always find the specification
> of a Menu widget but it is not a children of other widgets nor it is
> a resize object of the window. How can I know about it? How can I know
> it is the mainmenu of the window? How did you implemented this in the
> preview?
>
> *3. The "visibility" property*
> I spoken with Tasn yet about this, and opened a ticket on phab (T2035),
> I really think we must rename this to "visible"
>
> *4. Function call as properties*
> There are some rare case where the json file have functions call inside
> the "Properties" section of a widget, for example in the Radio widget:
> "Properties":
> {
> "Evas.Object.size_hint_weight":[1, 1],
> "Evas.Object.visibility":[true],
> "Elm_Radio.group_add":["elm_radio1"],
>   },
>
> group_add in this case is a function not a property, not that this
> create me too much problem, it's easy to manage in python, it just
> slow down the process a little bit, as I need to check at runtime
> if that is a prop or not. Maybe is better to have a "Functions"
> sections? Would be better for my implementation and seems more
> correct.
>
> *5. Enums*
> Now enums are written in the json files as if they where normal
> strings, for example:
>
> "Elm_Win.constructor":["dia-win", "ELM_WIN_DIALOG_BASIC"]
>
> I solved this yet, but with an hackish and slow solution, it could be
> better if we can find a way to express them in a way that they don't
> get confused with strings. But honestly I do not have any idea.
>
> *6. Labels with markup text*
> this just need to be fixed in some way inside erigo, it not possible atm to
> use
> markup in Labels.
>
>
> It's all for now :)
> Help me to fix this issues and we will have full erigo support in pyefl
> starting from 1.14
>
> bye
> davemds
> --
> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
> GigeNET is offering a free month of service with a new server in Ashburn.
> Choose from 2 high performing configs, both with 100TB of bandwidth.
> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
> http://p.sf.net/sfu/gigenet
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


--

Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-01-24 Thread Yakov Goldberg
Super cool!

On 01/23/2015 01:01 PM, Davide Andreoli wrote:
> 2015-01-20 7:26 GMT+01:00 Jeff Hoogland :
>
>> Just wanted to say this is amazing. Eagerly awaiting python support.
>>
> Python-efl support for erigo is quite ready, you can follow progress in the
> python-efl
> branch: devs/davemds/erigo_generator. This work will be included in the
> 1.14
> release... if erigo will prove to be stable and usable
>
> Another mail thread will follow to fix some small issue I'm facing reading
> the json file
>
>
>
>> On Mon, Jan 19, 2015 at 9:20 AM, Thanatermesis <
>> thanatermesis.e...@gmail.com
>>> wrote:
>>> Thank you, I will try to recompile it when 1.13 is released then :)
>>>
>>> 2015-01-19 16:17 GMT+01:00 Yakov Goldberg :
>>>
>>>> Yes, of course, you are right.
>>>> I will create stable releases which follow stable libs starting with
>> 1.13
>>>> :)
>>>>
>>>> I will also check possibility of creating stable version which works
>>>> with 1.12.
>>>>
>>>>
>>>> On 01/19/2015 05:09 PM, Thanatermesis wrote:
>>>>> so v1.13 is alpha, not a release, mmh...
>>>>>
>>>>> what about making the stable branches to follow the last stable
>> release
>>>> of
>>>>> the libs too? I understand the bleeding-edge versions for the
>>> development
>>>>> itself but if the releases don't follow releases too they just will
>>> never
>>>>> compile to who use releases of the libs :)
>>>>>
>>>>>
>>>>>
>>>>> 2015-01-19 15:57 GMT+01:00 Yakov Goldberg :
>>>>>
>>>>>> Hi Thanatermesis,
>>>>>> thank you for your message.
>>>>>> That's actually not Efl, but Elementary.
>>>>>> We were building Erigo on the latest Elementary, so Erigo will
>>>> compile
>>>>>> with v1.13.0-alpha1 and later.
>>>>>>
>>>>>> Sorry for inconvenience, I'm going to add version check.
>>>>>>
>>>>>> Yakov.
>>>>>>
>>>>>> On 01/19/2015 04:41 PM, Thanatermesis wrote:
>>>>>>> Hi Yakov,
>>>>>>>
>>>>>>> I just tried to compile it (master branch) and i get this error:
>>>>>>>
>>>>>>> [ 93%] Building C object
>>>> src/bin/egui_gui/CMakeFiles/erigo.dir/editor.c.o
>>>>>>> /tmp/erigo/src/bin/egui_gui/editor.c: In function
>>>>>> ‘_itemview_item_selected’:
>>>>>>> /tmp/erigo/src/bin/egui_gui/editor.c:3668:19: error:
>>>>>> ‘ELM_MENU_ITEM_CLASS’
>>>>>>> undeclared (first use in this function)
>>>>>>> /tmp/erigo/src/bin/egui_gui/editor.c:3668:19: note: each undeclared
>>>>>>> identifier is reported only once for each function it appears in
>>>>>>> /tmp/erigo/src/bin/egui_gui/editor.c:3668:4: warning: passing
>>> argument
>>>> 1
>>>>>> of
>>>>>>> ‘eo_isa’ from incompatible pointer type [enabled by default]
>>>>>>> In file included from /tmp/erigo/src/lib/gui_widget.h:5:0,
>>>>>>> from /tmp/erigo/src/lib/ffi_glue.h:5,
>>>>>>> from /tmp/erigo/src/bin/egui_gui/editor.c:4:
>>>>>>> /usr/include/eo-1/Eo.h:432:16: note: expected ‘const struct Eo *’
>> but
>>>>>>> argument is of type ‘struct Elm_Object_Item *’
>>>>>>> make[4]: *** [src/bin/egui_gui/CMakeFiles/erigo.dir/editor.c.o]
>>> Error 1
>>>>>>> I'm using *libefl* at *1.12.2*
>>>>>>>
>>>>>>> Note: doing a checkout on 0.9.0 tag doesn't compile it too
>>>>>>>
>>>>>>>
>>>>>>> 2015-01-19 14:48 GMT+01:00 Yakov Goldberg :
>>>>>>>
>>>>>>>> We are proud to introduce Erigo - the EFL GUI builder.
>>>>>>>> Now you can easily build GUIs by using drag and drop with
>> Elementary
>>>>>>>> widgets. We currently support C, but support for languages is easy
>>> to
>>>>>>>> add, and contributions are welcomed!
>>>>>>>> It also supports Edje, swallow objects and can simulate real
>>&g

[EGIT] [tools/erigo] master 01/01: Now Erigo requires Elementary v1.13.0 or higher

2015-01-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=49a49138d5ab63ee0196c33bf590052f0683e747

commit 49a49138d5ab63ee0196c33bf590052f0683e747
Author: Yakov Goldberg 
Date:   Mon Jan 19 17:24:59 2015 +0200

Now Erigo requires Elementary v1.13.0 or higher
---
 CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 71ea916..563e811 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,7 +26,7 @@ find_package(Eolian REQUIRED)
 find_package(Ecore REQUIRED)
 find_package(Evas REQUIRED)
 find_package(Edje REQUIRED)
-find_package(Elementary REQUIRED)
+find_package(Elementary 1.13.0 REQUIRED)
 find_package(Ffi REQUIRED)
 
 include(EFLCheck)

-- 




Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-01-19 Thread Yakov Goldberg
Yes, of course, you are right.
I will create stable releases which follow stable libs starting with 1.13 :)

I will also check possibility of creating stable version which works 
with 1.12.


On 01/19/2015 05:09 PM, Thanatermesis wrote:
> so v1.13 is alpha, not a release, mmh...
>
> what about making the stable branches to follow the last stable release of
> the libs too? I understand the bleeding-edge versions for the development
> itself but if the releases don't follow releases too they just will never
> compile to who use releases of the libs :)
>
>
>
> 2015-01-19 15:57 GMT+01:00 Yakov Goldberg :
>
>> Hi Thanatermesis,
>>thank you for your message.
>>That's actually not Efl, but Elementary.
>>We were building Erigo on the latest Elementary, so Erigo will compile
>> with v1.13.0-alpha1 and later.
>>
>>Sorry for inconvenience, I'm going to add version check.
>>
>> Yakov.
>>
>> On 01/19/2015 04:41 PM, Thanatermesis wrote:
>>> Hi Yakov,
>>>
>>> I just tried to compile it (master branch) and i get this error:
>>>
>>> [ 93%] Building C object src/bin/egui_gui/CMakeFiles/erigo.dir/editor.c.o
>>> /tmp/erigo/src/bin/egui_gui/editor.c: In function
>> ‘_itemview_item_selected’:
>>> /tmp/erigo/src/bin/egui_gui/editor.c:3668:19: error:
>> ‘ELM_MENU_ITEM_CLASS’
>>> undeclared (first use in this function)
>>> /tmp/erigo/src/bin/egui_gui/editor.c:3668:19: note: each undeclared
>>> identifier is reported only once for each function it appears in
>>> /tmp/erigo/src/bin/egui_gui/editor.c:3668:4: warning: passing argument 1
>> of
>>> ‘eo_isa’ from incompatible pointer type [enabled by default]
>>> In file included from /tmp/erigo/src/lib/gui_widget.h:5:0,
>>>from /tmp/erigo/src/lib/ffi_glue.h:5,
>>>from /tmp/erigo/src/bin/egui_gui/editor.c:4:
>>> /usr/include/eo-1/Eo.h:432:16: note: expected ‘const struct Eo *’ but
>>> argument is of type ‘struct Elm_Object_Item *’
>>> make[4]: *** [src/bin/egui_gui/CMakeFiles/erigo.dir/editor.c.o] Error 1
>>>
>>> I'm using *libefl* at *1.12.2*
>>>
>>> Note: doing a checkout on 0.9.0 tag doesn't compile it too
>>>
>>>
>>> 2015-01-19 14:48 GMT+01:00 Yakov Goldberg :
>>>
>>>> We are proud to introduce Erigo - the EFL GUI builder.
>>>> Now you can easily build GUIs by using drag and drop with Elementary
>>>> widgets. We currently support C, but support for languages is easy to
>>>> add, and contributions are welcomed!
>>>> It also supports Edje, swallow objects and can simulate real behaviour
>>>> without on-the-fly. Btw, the Erigo UI was created using Erigo itself!
>>>>
>>>> It's still under heavy development, you should most likely use master to
>>>> get the latest features and fixes. However, we do release stable
>>>> snapshots, so if you'd like to use them, just refer to the latest tag on
>>>> git, at the moment it's v0.9.0.
>>>>
>>>> Brace yourself for unexpected crashes, save your work often and please
>>>> report issues as you encounter them. Also we would love to hear about
>>>> your experience using it and suggestions on how we can improve it.
>>>>
>>>> Repo:
>>>> https://git.enlightenment.org/tools/erigo.git/
>>>>
>>>> Detailed information is available at wiki page:
>>>> https://phab.enlightenment.org/w/projects/gui_builder/
>>>>
>>>> and YouTube playlist:
>>>>
>> https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r
>>>> Yakov
>>>>
>>>>
>>>>
>>>>
>> --
>>>> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
>>>> GigeNET is offering a free month of service with a new server in
>> Ashburn.
>>>> Choose from 2 high performing configs, both with 100TB of bandwidth.
>>>> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
>>>> http://p.sf.net/sfu/gigenet
>>>> ___
>>>> enlightenment-devel mailing list
>>>> enlightenment-devel@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>>>
>> 

Re: [E-devel] Meet Erigo - the EFL GUI builder

2015-01-19 Thread Yakov Goldberg
Hi Thanatermesis,
  thank you for your message.
  That's actually not Efl, but Elementary.
  We were building Erigo on the latest Elementary, so Erigo will compile 
with v1.13.0-alpha1 and later.

  Sorry for inconvenience, I'm going to add version check.

Yakov.

On 01/19/2015 04:41 PM, Thanatermesis wrote:
> Hi Yakov,
>
> I just tried to compile it (master branch) and i get this error:
>
> [ 93%] Building C object src/bin/egui_gui/CMakeFiles/erigo.dir/editor.c.o
> /tmp/erigo/src/bin/egui_gui/editor.c: In function ‘_itemview_item_selected’:
> /tmp/erigo/src/bin/egui_gui/editor.c:3668:19: error: ‘ELM_MENU_ITEM_CLASS’
> undeclared (first use in this function)
> /tmp/erigo/src/bin/egui_gui/editor.c:3668:19: note: each undeclared
> identifier is reported only once for each function it appears in
> /tmp/erigo/src/bin/egui_gui/editor.c:3668:4: warning: passing argument 1 of
> ‘eo_isa’ from incompatible pointer type [enabled by default]
> In file included from /tmp/erigo/src/lib/gui_widget.h:5:0,
>   from /tmp/erigo/src/lib/ffi_glue.h:5,
>   from /tmp/erigo/src/bin/egui_gui/editor.c:4:
> /usr/include/eo-1/Eo.h:432:16: note: expected ‘const struct Eo *’ but
> argument is of type ‘struct Elm_Object_Item *’
> make[4]: *** [src/bin/egui_gui/CMakeFiles/erigo.dir/editor.c.o] Error 1
>
> I'm using *libefl* at *1.12.2*
>
> Note: doing a checkout on 0.9.0 tag doesn't compile it too
>
>
> 2015-01-19 14:48 GMT+01:00 Yakov Goldberg :
>
>> We are proud to introduce Erigo - the EFL GUI builder.
>> Now you can easily build GUIs by using drag and drop with Elementary
>> widgets. We currently support C, but support for languages is easy to
>> add, and contributions are welcomed!
>> It also supports Edje, swallow objects and can simulate real behaviour
>> without on-the-fly. Btw, the Erigo UI was created using Erigo itself!
>>
>> It's still under heavy development, you should most likely use master to
>> get the latest features and fixes. However, we do release stable
>> snapshots, so if you'd like to use them, just refer to the latest tag on
>> git, at the moment it's v0.9.0.
>>
>> Brace yourself for unexpected crashes, save your work often and please
>> report issues as you encounter them. Also we would love to hear about
>> your experience using it and suggestions on how we can improve it.
>>
>> Repo:
>> https://git.enlightenment.org/tools/erigo.git/
>>
>> Detailed information is available at wiki page:
>> https://phab.enlightenment.org/w/projects/gui_builder/
>>
>> and YouTube playlist:
>> https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r
>>
>> Yakov
>>
>>
>>
>> --
>> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
>> GigeNET is offering a free month of service with a new server in Ashburn.
>> Choose from 2 high performing configs, both with 100TB of bandwidth.
>> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
>> http://p.sf.net/sfu/gigenet
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
> --
> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
> GigeNET is offering a free month of service with a new server in Ashburn.
> Choose from 2 high performing configs, both with 100TB of bandwidth.
> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
> http://p.sf.net/sfu/gigenet
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



--
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Meet Erigo - the EFL GUI builder

2015-01-19 Thread Yakov Goldberg
We are proud to introduce Erigo - the EFL GUI builder.
Now you can easily build GUIs by using drag and drop with Elementary
widgets. We currently support C, but support for languages is easy to
add, and contributions are welcomed!
It also supports Edje, swallow objects and can simulate real behaviour
without on-the-fly. Btw, the Erigo UI was created using Erigo itself!

It's still under heavy development, you should most likely use master to
get the latest features and fixes. However, we do release stable
snapshots, so if you'd like to use them, just refer to the latest tag on
git, at the moment it's v0.9.0.

Brace yourself for unexpected crashes, save your work often and please
report issues as you encounter them. Also we would love to hear about
your experience using it and suggestions on how we can improve it.

Repo:
https://git.enlightenment.org/tools/erigo.git/

Detailed information is available at wiki page:
https://phab.enlightenment.org/w/projects/gui_builder/

and YouTube playlist:
https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r

Yakov


--
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[E-devel] Meet Erigo - the EFL GUI builder

2015-01-19 Thread Yakov Goldberg
We are proud to introduce Erigo - the EFL GUI builder.
Now you can easily build GUIs by using drag and drop with Elementary 
widgets. We currently support C, but support for languages is easy to 
add, and contributions are welcomed!
It also supports Edje, swallow objects and can simulate real behaviour 
without on-the-fly. Btw, the Erigo UI was created using Erigo itself!

It's still under heavy development, you should most likely use master to 
get the latest features and fixes. However, we do release stable 
snapshots, so if you'd like to use them, just refer to the latest tag on 
git, at the moment it's v0.9.0.

Brace yourself for unexpected crashes, save your work often and please 
report issues as you encounter them. Also we would love to hear about 
your experience using it and suggestions on how we can improve it.

Repo:
https://git.enlightenment.org/tools/erigo.git/

Detailed information is available at wiki page:
https://phab.enlightenment.org/w/projects/gui_builder/

and YouTube playlist:
https://www.youtube.com/playlist?list=PLal8LrkIgqzHrmHm0IBDT6s_Y7uVctR6r

Yakov


--
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/erigo] master 03/05: Resources: save relative path for resources which are in project folder

2015-01-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=5d73d2fb09681ae750277046eb01b04c8b9956f3

commit 5d73d2fb09681ae750277046eb01b04c8b9956f3
Author: Yakov Goldberg 
Date:   Mon Jan 19 11:09:50 2015 +0200

Resources: save relative path for resources which are in project folder
---
 src/lib/generator.c  |  4 +--
 src/lib/gui_parser.c | 92 
 src/lib/json_generator.c | 27 --
 3 files changed, 105 insertions(+), 18 deletions(-)

diff --git a/src/lib/generator.c b/src/lib/generator.c
index fa799b1..3f14094 100644
--- a/src/lib/generator.c
+++ b/src/lib/generator.c
@@ -865,8 +865,8 @@ _ctx_generate(Global_Gen_Context *gl_ctx)
  }
 
eina_strbuf_append_printf(gl_ctx->h_buf,
- "#ifndef _%s_h\n"
- "#define _%s_h\n", h_macro, h_macro);
+ "#ifndef _%s_\n"
+ "#define _%s_\n", h_macro, h_macro);
free(h_macro);
h_macro = NULL;
 
diff --git a/src/lib/gui_parser.c b/src/lib/gui_parser.c
index e62e0ab..6a9deba 100644
--- a/src/lib/gui_parser.c
+++ b/src/lib/gui_parser.c
@@ -806,39 +806,103 @@ _resource_parse(Gui_Context *gui_ctx, Eina_Json_Value 
*res_js)
  Eina_Iterator *it = eina_json_object_iterator_new(tmp);
  EINA_ITERATOR_FOREACH(it, j)
{
-  const char *id = NULL, *value = NULL, *edc_path = NULL;
+  const char *id = NULL, *value = NULL;
   id = eina_json_pair_name_get(j);
   Eina_Json_Value *cur = eina_json_pair_value_get(j);
+
+  Gui_Resource *gui_res = gui_context_resource_new(gui_ctx, 
res_type, id);
+  if (!gui_res)
+{
+   ERR("Cannot create RESOURCE: type: %s, id: %s", 
section_name, id);
+   continue;
+}
+
   if (res_type == RESOURCE_EDJE)
 {
Eina_Json_Value *edc_val = eina_json_array_nth_get(cur, 
1);
+   const char *edc_path = NULL;
if (eina_json_type_get(edc_val) != 
EINA_JSON_TYPE_STRING)
  {
 ERR("Json Value is not string");
+resource_del(gui_res);
+continue;
  }
-   else
+   edc_path = eina_json_string_get(edc_val);
+   /* by default set edc path empty but not NULL (legacy 
issue) */
+   resource_edc_path_set(gui_res, "");
+   if (edc_path && strlen(edc_path))
  {
-edc_path = eina_json_string_get(edc_val);
+/* If path starts with / this is absolute path. */
+if (*edc_path == '/')
+  {
+ resource_edc_path_set(gui_res, edc_path);
+  }
+/* ...if not, add project path in the beginning. */
+else
+  {
+ char val[PATH_MAX];
+ sprintf(val, "%s/%s", 
gui_context_project_path_get(gui_ctx), edc_path);
+ resource_value_set(gui_res, val);
+ resource_edc_path_set(gui_res, val);
+  }
  }
cur = eina_json_array_nth_get(cur, 0);
+
+   if (eina_json_type_get(cur) != EINA_JSON_TYPE_STRING)
+ {
+ERR("Json Value is not string");
+resource_del(gui_res);
+continue;
+ }
+
+   value = eina_json_string_get(cur);
+   if (*value == '/')
+ {
+resource_value_set(gui_res, value);
+resource_edj_path_set(gui_res, value);
+ }
+   /* ...if not, add project path in the beginning. */
+   else
+ {
+char val[PATH_MAX];
+sprintf(val, "%s/%s", 
gui_context_project_path_get(gui_ctx), value);
+resource_value_set(gui_res, val);
+resource_edj_path_set(gui_res, val);
+ }
 }
-  if (eina_json_type_get(cur) != EINA_JSON_TYPE_STRING)
+  else if (res_type == RESOURCE_IMAGE)
 {
- 

[EGIT] [tools/erigo] master 02/05: Disable JSON generation from CLI

2015-01-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=58a53f83d540663945f2b58dae054cd10cdc7f2c

commit 58a53f83d540663945f2b58dae054cd10cdc7f2c
Author: Yakov Goldberg 
Date:   Sun Jan 18 18:26:54 2015 +0200

Disable JSON generation from CLI
---
 src/bin/main.c | 8 +++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index 6d47822..ab72874 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -141,7 +141,10 @@ main(int argc, char **argv)
  {
   {"gc", no_argument, (int *) &export_format, GENERATE_C},
   {"gh", no_argument, (int *) &export_format, GENERATE_H},
+/* commenting out JSON generation. */
+#if 0
   {"gjson", no_argument, (int *) &export_format, GENERATE_JSON},
+#endif
   {"simulate", required_argument, 0, 's'},
   {"output", required_argument, 0, 'o'},
   {"help", no_argument, 0, 'h'},
@@ -173,12 +176,15 @@ main(int argc, char **argv)
 
if (mode == MODE_HELP)
  {
-printf("Usage: %s [-h/--help] [--gh|--gc|--gjson] [-s/--simulate 
target_name] [-o OUTFILE] filename\n", argv[0]);
+printf("Usage: %s [-h/--help] [--gh|--gc] [-s/--simulate target_name] 
[-o OUTFILE] filename\n", argv[0]);
 printf("   --help/-h Print this help.\n");
 printf("   --output/-o Provide output filename.\n");
 printf("   --gh Generate C header file [.h]\n");
 printf("   --gc Generate C source file [.c]");
+/* commenting out JSON generation. */
+#if 0
 printf("\n   --gjson Generate JSON project file [.egui]");
+#endif
 printf("\n");
 printf("   --simulate/-s Target name: (Desktop, Phone, 
Tablet).\n");
 goto end;

-- 




[EGIT] [tools/erigo] master 05/05: Add demo_project example

2015-01-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=65d314f0415945edac199a136c41f014f9e45a15

commit 65d314f0415945edac199a136c41f014f9e45a15
Author: Yakov Goldberg 
Date:   Mon Jan 19 13:31:42 2015 +0200

Add demo_project example
---
 examples/demo_project/demo.egui   |  81 ++
 examples/demo_project/images/test.edj | Bin 0 -> 207813 bytes
 examples/demo_project/images/tux.png  | Bin 0 -> 900941 bytes
 examples/demo_project/main.c  |  16 +++
 4 files changed, 97 insertions(+)

diff --git a/examples/demo_project/demo.egui b/examples/demo_project/demo.egui
new file mode 100644
index 000..8595599
--- /dev/null
+++ b/examples/demo_project/demo.egui
@@ -0,0 +1,81 @@
+{
+  "JSON_Version":"2",
+  "Settings":
+  {
+"project":"demo",
+"images_prefix":"IMAGES_PREFIX",
+"start_points":["elm_win1"]
+  },
+  "Resources":
+  {
+"Images":
+{
+  "tux":"images/tux.png"
+},
+"Edjes":
+{
+  "edje":["images/test.edj", ""]
+}
+  },
+  "Widgets":
+  {
+"elm_win1":
+{
+  "Desc":
+  {
+"parent":null,
+"class":"Elm_Win"
+  },
+  "Properties":
+  {
+"Elm_Win.constructor":[null, "ELM_WIN_BASIC"],
+"Elm_Win.title":["elm_win1"],
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.size":[383, 442],
+"Elm_Win.autodel":[true]
+  },
+  "Contains":["elm_layout1"]
+},
+"elm_win1_main_menu":
+{
+  "Desc":
+  {
+"parent":"elm_win1",
+"class":"Elm_Menu"
+  }
+},
+"elm_image1":
+{
+  "Desc":
+  {
+"parent":"elm_win1",
+"class":"Elm_Image",
+"public":true
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.size":[147, 137],
+"Efl.File.file":["tux", null],
+"Evas.Object.position":[114, 139]
+  }
+},
+"elm_layout1":
+{
+  "Desc":
+  {
+"parent":"elm_win1",
+"class":"Elm_Layout"
+  },
+  "Properties":
+  {
+"Evas.Object.size_hint_weight":[1, 1],
+"Evas.Object.visibility":[true],
+"Evas.Object.position":[205, 379],
+"Efl.File.file":["edje", "layout"]
+  }
+}
+  }
+ }
\ No newline at end of file
diff --git a/examples/demo_project/images/test.edj 
b/examples/demo_project/images/test.edj
new file mode 100644
index 000..005ff30
Binary files /dev/null and b/examples/demo_project/images/test.edj differ
diff --git a/examples/demo_project/images/tux.png 
b/examples/demo_project/images/tux.png
new file mode 100644
index 000..3c1958c
Binary files /dev/null and b/examples/demo_project/images/tux.png differ
diff --git a/examples/demo_project/main.c b/examples/demo_project/main.c
new file mode 100644
index 000..07eab85
--- /dev/null
+++ b/examples/demo_project/main.c
@@ -0,0 +1,16 @@
+//gcc -o start main.c demo.c `pkg-config --cflags --libs elementary` 
-DEFL_BETA_API_SUPPORT -DIMAGES_PREFIX=\"./images\"
+
+#include 
+#include "demo.h"
+
+EAPI_MAIN int
+elm_main(int arg, char **argv)
+{
+   Demo_Widgets *wdgs = demo_gui_get();
+   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
+   elm_run();
+   elm_shutdown();
+   return 0;
+}
+
+ELM_MAIN()

-- 




[EGIT] [tools/erigo] master 01/05: Change CLI options for generation

2015-01-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=ec10caceb89909a4e5890c5ca1d98b337a530d61

commit ec10caceb89909a4e5890c5ca1d98b337a530d61
Author: Yakov Goldberg 
Date:   Sun Jan 18 12:07:15 2015 +0200

Change CLI options for generation
---
 src/bin/egui_gui/CMakeLists.txt |  3 +-
 src/bin/egui_gui/egui_logic.c   |  7 +++-
 src/bin/main.c  | 78 -
 src/lib/generator.c | 64 +
 src/lib/generator.h |  3 +-
 src/lib/gui_widget.c| 30 +++-
 src/lib/gui_widget.h| 12 +++
 7 files changed, 131 insertions(+), 66 deletions(-)

diff --git a/src/bin/egui_gui/CMakeLists.txt b/src/bin/egui_gui/CMakeLists.txt
index b784c9c..1feb300 100644
--- a/src/bin/egui_gui/CMakeLists.txt
+++ b/src/bin/egui_gui/CMakeLists.txt
@@ -45,7 +45,8 @@ add_custom_command(
OUTPUT egui_layout.c egui_layout.h
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/egui_layout.json 
${EGUI_BINARY_BLD}/erigo_cmd
COMMENT "Generating gui layout from JSON"
-   COMMAND ${EGUI_BINARY_BLD}/erigo_cmd -e c -o ./egui_layout 
${CMAKE_CURRENT_SOURCE_DIR}/egui_layout.json
+   COMMAND ${EGUI_BINARY_BLD}/erigo_cmd --gc -o ./egui_layout.c 
${CMAKE_CURRENT_SOURCE_DIR}/egui_layout.json
+   COMMAND ${EGUI_BINARY_BLD}/erigo_cmd --gh -o ./egui_layout.h 
${CMAKE_CURRENT_SOURCE_DIR}/egui_layout.json
)
 
 
diff --git a/src/bin/egui_gui/egui_logic.c b/src/bin/egui_gui/egui_logic.c
index a8a7385..3340d7e 100644
--- a/src/bin/egui_gui/egui_logic.c
+++ b/src/bin/egui_gui/egui_logic.c
@@ -223,7 +223,12 @@ _on_fs_done(void *data, Evas_Object *obj EINA_UNUSED, void 
*event)
/* FIXME: File exists, check if want to save*/
ERR("can save, but file exists, show confirmation window");
 }
+  char ch_file[PATH_MAX];
   gui_context_export_filename_set((Gui_Context *) ctx, filename);
+  sprintf(ch_file, "%s.c", filename);
+  gui_context_export_c_filename_set((Gui_Context *) ctx, ch_file);
+  sprintf(ch_file, "%s.h", filename);
+  gui_context_export_h_filename_set((Gui_Context *) ctx, ch_file);
   gui_context_export_path_set((Gui_Context *) ctx, (const char *) 
parent_dir);
   int state = -1;
   eo_do(fs_win->fs_radio_c, state = elm_obj_radio_value_get());
@@ -231,7 +236,7 @@ _on_fs_done(void *data, Evas_Object *obj EINA_UNUSED, void 
*event)
 {
  case 0:
   {
- generator_ctx_source_generate(ctx, GENERATE_C);
+ generator_ctx_source_generate(ctx, GENERATE_C | 
GENERATE_H);
  break;
   }
  case 1:
diff --git a/src/bin/main.c b/src/bin/main.c
index ae409d4..6d47822 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -43,17 +43,33 @@ _generate(const char *in_file, const char *out_path, 
Generator_Export_Format for
  {
 path = out_dir;
  }
-   /* if new_project_name is no NULL, we want to put new project name. */
-   if (format == GENERATE_JSON)
+
+   gui_context_export_path_set(ctx, path);
+
+   /* When generating c file... */
+   if (format & GENERATE_C)
  {
-gui_context_project_path_set(ctx, path);
-gui_context_project_filename_set(ctx, out_file);
+char out_h_file[PATH_MAX];
+strcpy(out_h_file, out_file);
+/* If filename.c was provided, filename.h will be used inside c file.
+ * If other filename provided just add .h in the end. */
+if (eina_str_has_suffix(out_h_file, ".c"))
+  {
+ out_h_file[strlen(out_h_file) - 1] = 'h';
+  }
+else
+  {
+ sprintf(out_h_file, "%s%s", out_h_file, ".h");
+  }
+gui_context_export_h_filename_set(ctx, out_h_file);
+gui_context_export_c_filename_set(ctx, out_file);
  }
-   else
+   /* When generating h file, it will be generated into user provided name. */
+   else if (format & GENERATE_H)
  {
-gui_context_export_path_set(ctx, path);
-gui_context_export_filename_set(ctx, out_file);
+gui_context_export_h_filename_set(ctx, out_file);
  }
+
generator_ctx_source_generate(ctx, format);
gui_context_del(ctx);
free(out_dir);
@@ -112,18 +128,22 @@ enum
MODE_EXPORT
 };
 
+static Generator_Export_Format export_format = GENERATE_NONE;
+
 int
 main(int argc, char **argv)
 {
-   const char *new_filename = NULL, *target_name = NULL;
+   const char *output_filename = NULL, *target_name = NULL;
char *filename = NULL;
int mode = MODE_GUI;
-   Generator_Export_Format export_format = GENERATE_NONE;
 
static struct option long_options[

[EGIT] [tools/erigo] master 04/05: Fix generation of image/edje paths in c

2015-01-19 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=208b476b4e90798f0eb410c4130204ef5f0864de

commit 208b476b4e90798f0eb410c4130204ef5f0864de
Author: Yakov Goldberg 
Date:   Mon Jan 19 13:18:08 2015 +0200

Fix generation of image/edje paths in c
---
 src/lib/generator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/generator.c b/src/lib/generator.c
index 3f14094..1aaad12 100644
--- a/src/lib/generator.c
+++ b/src/lib/generator.c
@@ -718,7 +718,6 @@ _ctx_generate(Global_Gen_Context *gl_ctx)
 * - if data prefix variable is not defined, image's initial path is 
inserted.
 * - if data prefix variable is defined, path is generated ad 
DATA_PREFIX/filename */
const char *path_var = gui_context_images_prefix_get(ctx);
-   Eina_Bool first_res = EINA_TRUE;
int i;
 
for (i = 1; i < RESOURCE_SENTINEL; i <<= 1)
@@ -728,6 +727,7 @@ _ctx_generate(Global_Gen_Context *gl_ctx)
 if (!res_lst) continue;
 if (type == RESOURCE_IMAGE || type == RESOURCE_EDJE)
   {
+ Eina_Bool first_res = EINA_TRUE;
  Eina_Strbuf *if_buf = eina_strbuf_new();
  EINA_LIST_FOREACH(res_lst, itr, eid)
{

-- 




[EGIT] [tools/erigo] master 01/02: fix eid_exists: take into account if eid is active or not

2015-01-15 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=a0092d5e259807c7379a3351626886abc97a49ef

commit a0092d5e259807c7379a3351626886abc97a49ef
Author: Yakov Goldberg 
Date:   Wed Jan 14 15:49:57 2015 +0200

fix eid_exists: take into account if eid is active or not
---
 src/lib/gui_widget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/gui_widget.c b/src/lib/gui_widget.c
index 7ae8139..41a0773 100644
--- a/src/lib/gui_widget.c
+++ b/src/lib/gui_widget.c
@@ -758,7 +758,7 @@ eid_exists(Eid *eid)
if (!IS_ID_VALID(eid)) return EINA_FALSE;
 
Eid_Data *eid_data = _eid_data_get(eid);
-   return !!eid_data;
+   return !!(eid_data && eid_data->active);
 }
 
 Eina_Bool

-- 




[EGIT] [tools/erigo] master 02/02: Resource manager: clear fileselector fields after adding resources

2015-01-15 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=da1552333a5b7bfd8c9184b397c5e2080171c46b

commit da1552333a5b7bfd8c9184b397c5e2080171c46b
Author: Yakov Goldberg 
Date:   Wed Jan 14 16:22:06 2015 +0200

Resource manager: clear fileselector fields after adding resources
---
 src/bin/egui_gui/rmview.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/egui_gui/rmview.c b/src/bin/egui_gui/rmview.c
index e8fa03f..ae516f6 100644
--- a/src/bin/egui_gui/rmview.c
+++ b/src/bin/egui_gui/rmview.c
@@ -715,8 +715,8 @@ _rm_add_button_clicked(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Eve
   {
  resource_edc_path_set(gui_res, eo_do(g_rm_win->rm_edje_fs_edc, 
elm_interface_fileselector_path_get()));
  resource_edj_path_set(gui_res, value_str);
- eo_do(g_rm_win->rm_edje_fs_edc, 
elm_obj_widget_part_text_set(NULL, NULL));
- eo_do(g_rm_win->rm_edje_fs_edj, 
elm_obj_widget_part_text_set(NULL, NULL));
+ eo_do(g_rm_win->rm_edje_fs_edc, 
elm_interface_fileselector_path_set(""));
+ eo_do(g_rm_win->rm_edje_fs_edj, 
elm_interface_fileselector_path_set(""));
   }
 const Gui_Widget *wdg  = gui_context_data_get(ctx, SELECTED_WDG);
 proplayout_build(wdg);
@@ -727,7 +727,7 @@ _rm_add_button_clicked(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, const Eo_Eve
  }
 
_rmview_build(_rmview_toolbar_selected_type);
-   eo_do(g_rm_win->rm_image_fileselector, 
elm_interface_fileselector_path_set(getenv("HOME")));
+   eo_do(g_rm_win->rm_image_fileselector, 
elm_interface_fileselector_path_set(""));
eo_do(g_rm_win->rm_alias_entry, elm_obj_widget_part_text_set(NULL, NULL));
eo_do(g_rm_win->rm_value_entry, elm_obj_widget_part_text_set(NULL, NULL));
return EO_CALLBACK_CONTINUE;

-- 




[EGIT] [tools/erigo] master 01/01: DnD: fix

2015-01-12 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=e8824b1c6f45ae8bf08c17f552770c3f537e7df9

commit e8824b1c6f45ae8bf08c17f552770c3f537e7df9
Author: Yakov Goldberg 
Date:   Mon Jan 12 15:18:13 2015 +0200

DnD: fix

If dragging from factory, don't check in which widget drag started
---
 src/bin/egui_gui/editor.c | 63 ++-
 1 file changed, 35 insertions(+), 28 deletions(-)

diff --git a/src/bin/egui_gui/editor.c b/src/bin/egui_gui/editor.c
index 14566b8..cbf427e 100644
--- a/src/bin/egui_gui/editor.c
+++ b/src/bin/egui_gui/editor.c
@@ -1654,7 +1654,10 @@ _drop_target_drop(void *data, Evas_Object *obj, 
Elm_Selection_Data *ev)
const Gui_Widget *new_wdg = NULL;
const Gui_Context *ctx = _active_context_get();
const Gui_Session *session = gui_context_editor_session_get(ctx);
-   if (strcmp(drag_data, EDITOR_DRAG_DATA))
+   /* If drag_data != EDITOR_DRAG_DATA then new widget was dragged from the 
factory. */
+   Eina_Bool drag_from_factory = !!strcmp(drag_data, EDITOR_DRAG_DATA);
+   /* Drop when dragging from factory. */
+   if (drag_from_factory)
  {
 /* Don't allow to drop Window from factory into Main Obj*/
 if (!strcmp(DB_DEF_WIN_CLASS , drag_data) && wdg)
@@ -1795,9 +1798,8 @@ _drop_target_drop(void *data, Evas_Object *obj, 
Elm_Selection_Data *ev)
  Gui_Memento *memento = NULL;
  memento = gui_memento_new(wdg_eid_get(new_wdg), MEMENTO_PROPERTY, 
old_prop, prop);
 
- /* If drag_data != EDITOR_DRAG_DATA then new widget wass dragged 
from the factory,
-  * so memento must be added to the previous one. */
- if (strcmp(drag_data, EDITOR_DRAG_DATA))
+ /* If new widget was dragged from the factory, memento must be 
added to the previous one. */
+ if (drag_from_factory)
{
   gui_memento_append((Gui_Memento *) 
gui_context_current_memento_get(ctx), memento);
}
@@ -1822,40 +1824,45 @@ _drop_target_drop(void *data, Evas_Object *obj, 
Elm_Selection_Data *ev)
 wdg_data_set(new_wdg, CURSOR_DROP_Y, (void *) (intptr_t) 
di->pointer_y);
 goto end;
  }
-   /* If dragging from one container to another, unpack from the first one*/
-   if (prev_wdg_container && (prev_wdg_container != wdg))
+
+   if (!drag_from_factory)
  {
-Object_Container *_old_prev_container, *_new_prev_container;
-_old_prev_container = (Object_Container *) 
wdg_obj_container_get((Gui_Widget *) prev_wdg_container);
-_new_prev_container = obj_container_copy(_old_prev_container);
-Gui_Memento *memento = gui_memento_new(wdg_eid_get(prev_wdg_container),
+/* If dragging from one container to another, unpack from the first 
one*/
+if (prev_wdg_container && (prev_wdg_container != wdg))
+  {
+ Object_Container *_old_prev_container, *_new_prev_container;
+ _old_prev_container = (Object_Container *) 
wdg_obj_container_get((Gui_Widget *) prev_wdg_container);
+ _new_prev_container = obj_container_copy(_old_prev_container);
+ Gui_Memento *memento = 
gui_memento_new(wdg_eid_get(prev_wdg_container),
 MEMENTO_OBJ_CONTAINER_ITEM,
 _old_prev_container, 
_new_prev_container);
-gui_context_memento_add((Gui_Context *) ctx, memento);
-wdg_obj_container_unset((Gui_Widget *) prev_wdg_container);
-wdg_obj_container_set((Gui_Widget *) prev_wdg_container, 
_new_prev_container);
+ gui_context_memento_add((Gui_Context *) ctx, memento);
+ wdg_obj_container_unset((Gui_Widget *) prev_wdg_container);
+ wdg_obj_container_set((Gui_Widget *) prev_wdg_container, 
_new_prev_container);
 
-/* Take old container's class name from content-property. */
-Object_Container_Item *_ci = 
wdg_obj_container_item_get(prev_wdg_container, -1, wdg_name_get(new_wdg));
-wdg_obj_container_item_remove(prev_wdg_container, _ci);
- }
-   /* If dragging from a widget(window), unset parent*/
-   else if (wdg_parent && (wdg_parent != wdg))
- {
-Gui_Memento *memento = gui_memento_new(wdg_eid_get(new_wdg),
+ /* Take old container's class name from content-property. */
+ Object_Container_Item *_ci = 
wdg_obj_container_item_get(prev_wdg_container, -1, wdg_name_get(new_wdg));
+ wdg_obj_container_item_remove(prev_wdg_container, _ci);
+  }
+/* If dragging from a widget(window), unset parent*/
+else if (wdg_parent && (wdg_parent != wdg))
+  {
+ Gui_Memento *memento = gui_memento_new(wdg_eid_get(new_wdg),
 MEMENTO_WIDGET_PARENT,

Re: [E-devel] [EGIT] [core/elementary] master 01/01: genlist: clean up genlist_smart_del() func.

2015-01-11 Thread Yakov Goldberg
Hey Hermet,
this commit (and some other) crashes Genlist Del example.
Please check it.

Yakov.


On 01/09/2015 04:24 PM, ChunEon Park wrote:
> hermet pushed a commit to branch master.
>
> http://git.enlightenment.org/core/elementary.git/commit/?id=c14ca8032ed1ae79c9e2e5ed47258c014aa6b886
>
> commit c14ca8032ed1ae79c9e2e5ed47258c014aa6b886
> Author: ChunEon Park 
> Date:   Fri Jan 9 23:27:33 2015 +0900
>
>  genlist: clean up genlist_smart_del() func.
>  
>  removed unnecessary calls.
> ---
>   src/lib/elm_genlist.c | 4 
>   1 file changed, 4 deletions(-)
>
> diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
> index 38261d7..cb24581 100644
> --- a/src/lib/elm_genlist.c
> +++ b/src/lib/elm_genlist.c
> @@ -5489,9 +5489,6 @@ _elm_genlist_evas_object_smart_del(Eo *obj, 
> Elm_Genlist_Data *sd)
>   {
>  int i;
>   
> -   if (sd->decorate_all_mode)
> - elm_genlist_decorate_mode_set(sd->obj, EINA_FALSE);
> -   sd->queue = eina_list_free(sd->queue);
>  elm_genlist_clear(obj);
>  for (i = 0; i < 2; i++)
>ELM_SAFE_FREE(sd->stack[i], evas_object_del);
> @@ -5503,7 +5500,6 @@ _elm_genlist_evas_object_smart_del(Eo *obj, 
> Elm_Genlist_Data *sd)
>  ecore_idle_enterer_del(sd->queue_idle_enterer);
>  ecore_idler_del(sd->must_recalc_idler);
>  ecore_timer_del(sd->multi_timer);
> -   ecore_timer_del(sd->scr_hold_timer);
>  eina_stringshare_del(sd->decorate_it_type);
>  ecore_animator_del(sd->tree_effect_animator);
>   
>


--
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 01/01: Revert "genlist: use eina bool"

2015-01-11 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=8ac832ffdf974bd91d3b013e00eaafbcc87f25f6

commit 8ac832ffdf974bd91d3b013e00eaafbcc87f25f6
Author: Yakov Goldberg 
Date:   Sun Jan 11 16:32:42 2015 +0200

Revert "genlist: use eina bool"

  This reverts commit 1879cc39258c63c24f0abcff56558b1f1b60167a.

  Hermet, please check this commit it makes Fileselector crash,
  looks like you inverted the values: 1 should be EINA_TRUE.
  I recommend you to use Exactness to run all the tests automatically.
---
 src/lib/elm_genlist.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index dc8b5d7..750187e 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -4397,15 +4397,15 @@ newblock:
return EINA_TRUE;
 }
 
-static Eina_Bool
+static int
 _item_process(Elm_Genlist_Data *sd,
   Elm_Gen_Item *it)
 {
-   if (!_item_block_add(sd, it)) return EINA_FALSE;
+   if (!_item_block_add(sd, it)) return 1;
if (!sd->blocks)
  _item_block_realize(it->item->block);
 
-   return EINA_TRUE;
+   return 0;
 }
 
 static void

-- 




Re: [E-devel] [EGIT] [core/elementary] master 01/01: genlist: refactor code.

2015-01-08 Thread Yakov Goldberg
Hi Hermet,

I have a problem with selection. Bug is in commit 
3dc73cfcdb4fb6638cba2c5e0c97c5729a55f39b.
The problem is: I select item with API and then click on another 
item. First item remains selected.
I don't know it there is such example in elementary test, because I 
see such behaviour in my app.

Yakov


On 01/08/2015 04:15 AM, ChunEon Park wrote:
> fixed.
> thank you.
>
> 
> -Regards, Hermet-
>
> -Original Message-
> From: "ChunEon Park"
> To: "Daniel Zaoui"; "Enlightenment developer 
> list";
> Cc:
> Sent: 2015-01-08 (목) 10:58:51
> Subject: Re: [E-devel] [EGIT] [core/elementary] master 01/01: genlist: 
> refactor code.
>   
> thank you.
> i will check.
> 
> -Regards, Hermet-
>
> -Original Message-
> From: "Daniel Zaoui"
> To: "Enlightenment developer 
> list"; ;
> Cc:
> Sent: 2015-01-07 (수) 17:52:06
> Subject: Re: [EGIT] [core/elementary] master 01/01: genlist: refactor code.
>   
> Hi Hermet,
>
> Please check elm_test on genlist 3. Click fast on an item and you will
> see a beautiful segfault.
> It is due to the fact that selected list is composed of Elm_Object_Item
> (Eo) and not Elm_Gen_Item.
>
> Thanks to ya-kov for spotting this.
>
> D2
>
> On 01/06/15 13:16, ChunEon Park wrote:
>> hermet pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/elementary.git/commit/?id=3dc73cfcdb4fb6638cba2c5e0c97c5729a55f39b
>>
>> commit 3dc73cfcdb4fb6638cba2c5e0c97c5729a55f39b
>> Author: ChunEon Park 
>> Date:   Tue Jan 6 20:17:03 2015 +0900
>>
>>  genlist: refactor code.
>>  
>>  select/unselect items by using common select function.
>> ---
>>   src/lib/elm_genlist.c  42 +-
>>   1 file changed, 17 insertions(+), 25 deletions(-)
>>
>> diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
>> index f9b4b53..fbfbeb4 100644
>> --- a/src/lib/elm_genlist.c
>> +++ b/src/lib/elm_genlist.c
>> @@ -5705,20 +5705,29 @@ _item_select(Elm_Gen_Item *it)
>>  ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
>>  Elm_Object_Item *eo_it = EO_OBJ(it);
>>   
>> +   if (eo_do(eo_it, elm_wdg_item_disabled_get())) return;
>> +
>>  if (_is_no_select(it)
>>  (it->generation < sd->generation)
>>  (it->decorate_it_set))
>>return;
>>   
>> +   if (!sd->multi)
>> + {
>> +const Eina_List *l, *ll;
>> +Elm_Gen_Item *it2;
>> +EINA_LIST_FOREACH_SAFE(sd->selected, l, ll, it2)
>> + {
>> +if (it2 != it) _item_unselect(it2);
>> + }
>> + }
>> +
>>  if (!it->selected)
>>{
>>   it->selected = EINA_TRUE;
>>   sd->selected =
>> eina_list_append(sd->selected, eo_it);
>>}
>> -   else if ((sd->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS) &&
>> -(it->select_mode != ELM_OBJECT_SELECT_MODE_ALWAYS))
>> - return;
>>   
>>  evas_object_ref(obj);
>>  it->walking++;
>> @@ -6531,31 +6540,14 @@ _elm_genlist_item_selected_set(Eo *eo_item 
>> EINA_UNUSED, Elm_Gen_Item *it,
>>  ELM_GENLIST_ITEM_CHECK_OR_RETURN(it);
>>  ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
>>   
>> -   if ((it->generation < sd->generation)  eo_do(EO_OBJ(it), 
>> elm_wdg_item_disabled_get()))
>> - return;
>> +   if ((it->generation < sd->generation)
>> +   eo_do(EO_OBJ(it), elm_wdg_item_disabled_get())) return;
>> +
>>  selected = !!selected;
>>  if (it->selected == selected) return;
>>   
>> -   if (selected)
>> - {
>> -if (!sd->multi)
>> -  {
>> - while (sd->selected)
>> -   {
>> -  Elm_Object_Item *eo_sel = sd->selected->data;
>> -  ELM_GENLIST_ITEM_DATA_GET(eo_sel, sel);
>> -  if (it->unhighlight_cb)
>> -it->unhighlight_cb(sel);
>> -  it->unsel_cb(sel);
>> -   }
>> -  }
>> -it->highlight_cb(it);
>> -it->sel_cb(it);
>> -
>> -return;
>> - }
>> -   if (it->unhighlight_cb) it->unhighlight_cb(it);
>> -   it->unsel_cb(it);
>> +   if (selected) _item_select(it);
>> +   else _item_unselect(it);
>>   }
>>   
>>   EOLIAN static Eina_Bool
>>
> --
> Dive into the World of Parallel Programming! The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> --
> Dive into the World of

[EGIT] [core/elementary] master 01/01: image: fix segv in elm_image_file_set()

2014-07-08 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=257817fb78bf8d64c949696895277a5187f87c5e

commit 257817fb78bf8d64c949696895277a5187f87c5e
Author: Yakov Goldberg 
Date:   Tue Jul 8 16:34:23 2014 +0300

image: fix segv in elm_image_file_set()
---
 src/lib/elm_image.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elm_image.c b/src/lib/elm_image.c
index bc78a2e..b435243 100644
--- a/src/lib/elm_image.c
+++ b/src/lib/elm_image.c
@@ -884,7 +884,7 @@ _elm_image_file_set(Eo *obj, Elm_Image_Data *sd, const char 
*file, const char *k
sd->remote = NULL;
 
for (i = 0; i < sizeof (remote_uri) / sizeof (remote_uri[0]); ++i)
- if (!strncmp(remote_uri[i], file, strlen(remote_uri[i])))
+ if (file && !strncmp(remote_uri[i], file, strlen(remote_uri[i])))
{
   // Found a remote target !
   evas_object_hide(sd->img);

-- 




Re: [E-devel] Eflete 0.2.0 released

2014-06-25 Thread Yakov Goldberg
On 06/23/2014 01:45 PM, Fan Cris wrote:
> ok, now im feel the most "smart" man in universe
> anyway, why double click ?
> thank you very much
You are not alone ;)
Did it a week ago and then chatted with one of Eflete developers, asking 
for support.

On 06/23/2014 03:21 PM, Vyacheslav wrote:
> Previously, we has planned to make navigation with keyboard, but not
> finished yet  :-(.
> If made select a item on one click, then user can not select a item
> in the widgetlist with out change the frame (level in widgetlist),
> and can not change the focus to widgetlist, and can not use keyboard
> for navigation.
> Soon, we make a navigation from keyboard.
Thus, if there are already two of us who didn't try double click, maybe 
it could be nice to add a bubble with "double click" note over widget 
list (if it's possible to add a bubble to Elm_Item) :)

--
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Eflete 0.2.0 released

2014-06-19 Thread Yakov Goldberg
Hello,
 great job!
 I'm working on Gui Builder for Elementary, and going to try Ewe 
widgets for UI.

Yakov

On 06/02/2014 02:51 PM, Vyacheslav Reutskiy wrote:
> Hello,
> Samsung R&D Institute Ukraine (SRK) team are pleased to announce that 
> Eflete
> 0.2.0 and Ewe 0.1.0 is released.
> Please see link:
> eflete: [1]http://git.enlightenment.org/devs/rimmed/eflete.git
> ewe: [2]http://git.enlightenment.org/devs/rimmed/ewe.git
> What is new
> Ewe (Elementary Widgets Extension):
> * Widget Tabs;
> * Widget Combobox;
> * Widget Statusbar;
> * Widget Entry - input field with regex;
> * Widget Ruler.
> Eflete (EFL Edje Theme Editor):
> * Improvement the property;
> * Improvement UI;
> * Improvement UX;
> * Add new widgets to live-view;
> * Fix bugs and defects, another minor changes.
> Best regards,
> Vyacheslav Reutskiy
> Samsung R&D Institute Ukraine (SRK)
> 
> [SeenTimeChecker?do=657c22a16bd00bda012b6ac335fd85ab0e39c2ed3f66922410e7eeca
> 
> f3dd15bb3340d63f25e1a292b9d1af7a86c82c9092fee5c9a9e95c0389fe2928b38d2252d476
> dc49b3e68b37d6600ca1ffd9c3fdf6ddc9ea09393184cf878f9a26ce15a0]
>
> References
>
> 1. http://git.enlightenment.org/devs/rimmed/eflete.git/
> 2. http://git.enlightenment.org/devs/rimmed/ewe.git
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


--
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 01/01: Fileselector Entry: add the changed signal in the events section of fileselector_entry.eo

2014-05-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=d3ac2d8612f544cbd27f0eddb4da8e239f3a90e4

commit d3ac2d8612f544cbd27f0eddb4da8e239f3a90e4
Author: Yakov Goldberg 
Date:   Thu May 29 16:07:33 2014 +0300

Fileselector Entry: add the changed signal in the events section of 
fileselector_entry.eo
---
 src/lib/elc_fileselector_entry.eo | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elc_fileselector_entry.eo 
b/src/lib/elc_fileselector_entry.eo
index df03b10..2297454 100644
--- a/src/lib/elc_fileselector_entry.eo
+++ b/src/lib/elc_fileselector_entry.eo
@@ -121,6 +121,7 @@ class Elm_Fileselector_Entry (Elm_Layout, 
Elm_Interface_Fileselector)
events {
   language,changed;
   access,changed;
+  changed;
}
 
 }

-- 




  1   2   >