Commit Graph

449 Commits

Author SHA1 Message Date
Marcel Hollerbach 4a94694bc0 clouseau: focus, display arrows correctly
there have been some bad actions in the arrow code, every arrow should
now be displayed in a correct manner
2017-11-07 23:21:34 +01:00
Marcel Hollerbach ccefc5e57b clouseau: stop arrows beeing backwards 2017-11-07 21:52:25 +01:00
Marcel Hollerbach 7dadc722c5 clouseau: fix now private eo symbols 2017-11-07 20:32:09 +01:00
Marcel Hollerbach ef625c3d68 clouseau: EVAS_CANVAS is private now
we should check for EFL_CANVAS_INTERFACE which is simular, but also
applies to efl.ui.win, which is a problem
2017-11-07 20:14:42 +01:00
Marcel Hollerbach 2514cff9e4 clouseau: add arrow into clouseau for indicating relations 2017-11-03 20:12:05 +01:00
Marcel Hollerbach 65d89b92c2 clouseau: introduce focus inspector
This for now shows the nodes that are registered in a manager, in the
hirarchy that is used. Redirects are displayed red, logicals gray and
normals in a e-style blue. If something is part of the focus history its
green.
2017-10-31 16:33:36 +01:00
Marcel Hollerbach 4ae284bd0b clouseau: move those macros to a header, they are usefull 2017-10-31 16:31:35 +01:00
Daniel Zaoui 1013671a37 Adapt code after Eolian changes 2017-09-27 23:55:14 +03:00
Daniel Zaoui b962f53712 Fix bg creation after EFL changes 2017-09-27 23:55:01 +03:00
Mykyta Biliavskyi 4df7f37839 Fix build: Use Eina for Efl.Gfx API. 2017-09-20 17:08:01 +03:00
Mykyta Biliavskyi 170923b164 Add profiling viewer extension.
Summary:
Due to splitting efl_profiling_viewer to the library this
extension was prepared. This is a first version of extension and will be
improved. After @Deepwarrior will publish code for efl_profiling_viewer that
make possible to work with real time data from efl_debug system, it will
be possible compile clouseau with efl_profiling_viewer support.

Test Plan:
Inctall Profiling_Viewer library in the system.
Build clouseau.
Launch clouseau and select Profiling viewer extesion.

Reviewers: Deepwarrior, JackDanielZ

Reviewed By: Deepwarrior

Tags: #clouseau, PHID-PROJ-w56dx3enc43oqdzz2xpa

Differential Revision: https://phab.enlightenment.org/D5061
2017-09-01 14:06:21 +03:00
Daniel Zaoui 26c85dda2d Specify Clouseau library to link the extension
During compilation of the objects introspection extension, the
clouseau_debug library is needed.
In Ubuntu machines, it seems that this MUST be specified in the
CMakeLists.txt. Without it, dlopen the extension fails on trying to find
a function present in the Clouseau library.

Thanks to Woohyun for using Ubuntu :-)

@fix
2017-08-21 10:28:09 +03:00
Daniel Zaoui dc7ee20d22 Reorder includes to get the EAPI definition 2017-08-16 20:42:26 +03:00
Daniel Zaoui c1dd9ae043 Fix API visibility
It seems that, after EFL update, dlsym began to make issues to find
EAPI functions.
Setting the EAPI definition in the extension file solves the issue.
2017-08-15 20:50:02 +03:00
Cedric BAIL 64b36848af ui: use legacy call. 2017-08-07 14:03:42 -07:00
Jérémy Zurcher eca7479b59 ELM_PANES_CLASS -> EFL_UI_PANES_CLASS, follow efl commit 40945d9859 2017-08-07 09:24:35 +02:00
Marcel Hollerbach 79e62083c9 Use Eo to evaluate if a function is implemented
So, there is one problem, there is the case that you just have the
notation in eolian that a special object implements a interface, to
bring the actual logic to it, you are going to composite_attach a other
object to it. The problem then in clouseau was that clouseau doesnt know
a implementation does exist, so it didnt display the implementation.

The new solution uses eo to fetch the function pointer to the actual
implementation to know if the function is really implemented or not.
2017-08-02 20:09:07 +03:00
Marcel Hollerbach a6eedef550 Highlight everything that has a geometry 2017-08-02 20:09:01 +03:00
Daniel Zaoui e2dbf08cb2 Fix strings support 2017-07-02 16:50:10 +03:00
Daniel Zaoui 9d75e1a5db Highlight objects selected in the details view
This is a porting of 24a971509b, as it has
been lost during the rewriting of Clouseau.

It has been adapted to fit the new protocol.
2017-06-26 11:22:41 +03:00
Daniel Zaoui a7432b429c Set default function return type 2017-06-26 11:21:25 +03:00
Daniel Zaoui 0808f42643 Fix classes buffer filling
Some buffers of 2K were allocated in the stack during the classes
buffering.
A crash was happening when the data was too big to fill most of the
stack buffer. This was rewriting the stack frames information.
2017-06-25 18:18:24 +03:00
Daniel Zaoui f588374b06 Fix classes hierarchy display
Interfaces were not handled correctly. The consequence was that they
were not displayed in the object information.
2017-06-25 18:18:24 +03:00
Daniel Zaoui 252f013174 Disable main window blocking when displaying a screenshot 2017-06-25 11:11:40 +03:00
Daniel Zaoui 390739d795 Improve screenshot feature
Ecore X functions are not used anymore. An Evas snapshot is created and
its data is stored when the RENDER POST event is invoked on the canvas.

It fixes the random black screenshot and the constant black region at
the bottom of the window (probably caused by some change made on the
title bar management, as it seems to be the exact size).
2017-06-25 11:11:40 +03:00
Daniel Zaoui 287e8498a7 Check strings nullity before strcmp 2017-06-23 09:58:40 +03:00
Daniel Zaoui bbd9525f4b Extension: remove nickname
name field is enough, even for configurations files.
2017-06-22 21:10:26 +03:00
Daniel Zaoui 524541c49d Improve functions tooltip display 2017-06-21 09:57:09 +03:00
Daniel Zaoui cdd91eb12c Show elements of lists
Elements of lists of Eo functions are now displayed.

Iterators are converted to lists before packing.
2017-06-21 09:35:18 +03:00
Daniel Zaoui 07474f14b7 Fix function line display
When a return value is the only parameter of the function, a blank name
was displayed.
Additionally, the param name is not shown if there is only one parameter
for the function.
2017-06-16 11:52:00 +03:00
Daniel Zaoui 9416c31515 Don't show invalid extensions
In case the library has not been found, we don't display it in the
available extensions list.
2017-06-16 11:37:06 +03:00
Daniel Zaoui c394331763 Permit extension import
A file selector is displayed so the user can select the library to load
as a Clouseau extension.
2017-06-12 11:02:10 +03:00
Daniel Zaoui b745bd6d7e Hide settings button as we don't need it 2017-06-12 10:22:59 +03:00
Daniel Zaoui 43cfe6d441 Objects_Intro/settings: fix crash when filtering objects 2017-06-06 11:29:18 +03:00
Daniel Zaoui 446e39c0e3 Open the last extension used at the previous run 2017-06-06 10:51:15 +03:00
Daniel Zaoui 31d522b386 Fix classes lookup 2017-06-06 10:30:17 +03:00
Daniel Zaoui 7ce0b23e7a Remove unused include 2017-06-06 10:30:17 +03:00
Daniel Zaoui 774142353a Remove old library usage 2017-06-06 10:30:17 +03:00
Daniel Zaoui 74f279bcaf Free buffers after sending them 2017-06-06 10:30:17 +03:00
Daniel Zaoui bd725339bc Adapt opcodes registration for Windows 2017-06-06 10:30:17 +03:00
Daniel Zaoui c982cb8685 Support endianness 2017-06-06 10:30:17 +03:00
Daniel Zaoui 73a790e331 Rename opcodes strings for a better readability 2017-06-06 10:30:17 +03:00
Daniel Zaoui 952c243721 Adapt code to EFL changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui 6e21f6d620 Use Eo iterators 2017-06-06 10:30:17 +03:00
Daniel Zaoui 50ea3a2740 Fix coverity issues 2017-06-06 10:30:17 +03:00
Daniel Zaoui 0baf933727 Adapt to EFL changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui 8f52887d57 Use better names for daemon operations 2017-06-06 10:30:17 +03:00
Daniel Zaoui 7f709213b4 Replace remote profile support with remote port 2017-06-06 10:30:17 +03:00
Daniel Zaoui 7bf7b0a431 Set title 2017-06-06 10:30:17 +03:00
Daniel Zaoui 9948eea27a Merge the Eo/Evas/Eolian into Clouseau 2017-06-06 10:30:17 +03:00
Daniel Zaoui 57773aea05 Adapt remote connection to latest EFL changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui b395635dd3 EvLog: support direct recording from the application 2017-06-06 10:30:17 +03:00
Daniel Zaoui 44aa6dd03e Fix main UI 2017-06-06 10:30:17 +03:00
Daniel Zaoui ab69add6d3 Add evlog.edc and install data images 2017-06-06 10:30:17 +03:00
Daniel Zaoui b309fa2bc2 Support storing snapshot of all the running extensions into one file
When the user wants to save the data (snapshot), Clouseau requests from
every running extension the data that is "exported".
All the data are then encapsulated into one single file.
The first idea was to use EET to store the extensions blobs as basic var
arrays. But it was taking so much time that is has been chosen that the
data itself is appended in the file after the EET blob. This one only
contains the app name/pid and the number of bytes of the blob, per
extension.
Additionnally, the objects introspection extension has been modified to
behave as the first Clouseau, i.e taking all the objects information in
one shot and using it during the interaction with the user.
The Save/Load button is now a part of the main toolbar.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 6daf22321a evlog: support data import 2017-06-06 10:30:17 +03:00
Daniel Zaoui 80c18f3bd5 Resurrect the -f option
It has been removed when the extentions feature has been introduced.

Now, when -f is used in the command line, a list of extensions is
displayed to request the user to choose the extension that needs to
handle this file.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 3c80e7bb46 Support of evlog as an extension 2017-06-06 10:30:17 +03:00
Daniel Zaoui 9fc5c432bf Introduce the extensions feature
The objects introspection, that has always been as a core part, is now
an extension, and can be not used.
The directories structure allows other extensions to be developed inside
the Clouseau tree, even if they can be developed outside.

Other extensions will be added and the extensions feature will be
adapted to fit all their requirements.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 88420d78d4 Remove unused code 2017-06-06 10:30:17 +03:00
Daniel Zaoui 4f5e0fde15 Move Clouseau module inside this repository 2017-06-06 10:30:17 +03:00
Daniel Zaoui 236a4f1c15 Support remote connection 2017-06-06 10:30:17 +03:00
Daniel Zaoui 17d00e68a9 Remove fake session use
All can be done without the intervention of Eina_Debug. We just need to
dispatch the packets by their own opcode.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 4d119765aa Redesign the tools bar
Now a toolbar widget is used instead of a box.
The settings window has been replaced by a menu, as well as the apps and
connection hoversels.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 5d65effa28 Support screenshots save in snapshot file 2017-06-06 10:30:17 +03:00
Daniel Zaoui 987d9bc250 Adapt to Evas Debug changes 2017-06-06 10:30:17 +03:00
Daniel Zaoui 358139179d Implement snapshot load 2017-06-06 10:30:17 +03:00
Daniel Zaoui d38d8f4b1b Improve object info access code 2017-06-06 10:30:17 +03:00
Daniel Zaoui 7cf8e2e425 Add snapshot save feature
It doesn't save the screenshots yet. Should be done soon.

During save, the UI is frozen until the last packet is received.

The snapshot file contains info about the application, opcodes that will
be needed during loading and the buffers received from the application
describing the objects and their information.
2017-06-06 10:30:17 +03:00
Daniel Zaoui 7cb901e58f Store apps info into a dedicated structure 2017-06-06 10:30:11 +03:00
Daniel Zaoui 4a2c702778 Fix apps hoversel during selection 2017-06-06 10:28:31 +03:00
Daniel Zaoui a42bc82db8 Fix functions names typo 2017-06-06 10:28:31 +03:00
Daniel Zaoui ca58cb9f9b Support screenshots download and display
Many shots can be taken and displayed. Timestamp is set to each.

To do:
- Fix black bottom region
2017-06-06 10:28:31 +03:00
Daniel Zaoui 07710c01fc Implement jump to pointer feature 2017-06-06 10:28:31 +03:00
Daniel Zaoui e2869aa298 Implement highlight option 2017-06-06 10:28:30 +03:00
Daniel Zaoui 449d833d80 Implement reloading 2017-06-06 10:28:30 +03:00
Daniel Zaoui 0a99a22086 Remove prints 2017-06-06 10:28:30 +03:00
Daniel Zaoui febe013c2e Add missing elements to the toolbar 2017-06-06 10:28:30 +03:00
Daniel Zaoui 601eb80e07 Support parameters
Connection type can be chosen.
2017-06-06 10:28:30 +03:00
Daniel Zaoui a792302ca9 Remove the profiles window
It was useless, ugly and not functional.

Now you can choose the connection type by opening the connections menu
in the main window.
In this way, you can easily choose the remote profile or move to another
connection type.
2017-06-06 10:28:30 +03:00
Daniel Zaoui 73dff60926 Enable Eolian params retrieval 2017-06-06 10:28:30 +03:00
Daniel Zaoui e9eb0d29bc Shorten opcodes variables names 2017-06-06 10:28:30 +03:00
Daniel Zaoui 9b9ab9f07f New features
Adapt to eina_debug latest changes
Support multi-threads objects
Improve modules initialization
Add config window
Support all Evas objects or Elm Widgets display
2017-06-06 10:28:30 +03:00
Daniel Zaoui 03423ff979 First patch for the Clouseau rewriting
- Removal of all old code
- Create the new directories tree
- Move to cmake
- Connection to daemon
2017-06-06 10:26:45 +03:00
Vyacheslav Reutskiy b79b2f9033 clouseau_client: expand/collapse item by double click
Open/Close the tree item in Genlist by double click make work with
clouseau more comfortable.
2017-04-26 09:44:04 +03:00
Daniel Zaoui ee36702153 Invoke server del/free only if needed 2017-03-06 10:00:55 +02:00
Shuhrat Dehkanov a2af39e8cd Remove redundant addition operator
Reviewers: marcelhollerbach, cedric, minkyu, bu5hm4n

Reviewed By: minkyu, bu5hm4n

Subscribers: bu5hm4n, minkyu

Differential Revision: https://phab.enlightenment.org/D4481
2016-12-16 09:38:24 +01:00
Marcel Hollerbach ce049917b2 clouseau_client: use cnp when string is clicked
Copy the string content of a value into the selection buffer once its
clicked.
2016-11-21 20:24:47 +01:00
Marcel Hollerbach d4aaaad679 clouseau_pre: add backtraces to every eo object
they are added now to the debug informations. In the new code it is created
in the style of eina_backtrace, so the backtraces can be made visible with
eina_btlog.
2016-11-21 20:24:47 +01:00
Marcel Hollerbach 01d83bd6bd clouseau_client: do not compact items which are bigger than 10 items
otherwise things are getting really unreadable
2016-11-21 20:24:47 +01:00
Marcel Hollerbach 24a971509b closeau: highlight objects in the detail view
if there is a pointer in the detailview, and the pointer is clicked,
highlight the object which is pointed to by that pointer.

You can test this patch by downloading
https://devs.enlightenment.org/~bu5hm4n/elm_focus_test
and opening the file in clouseau's offline mode. The elements with
can_focus=1 are having a focus section in the property view, if you
click on those, and the screenshot is open, you will see a highlight.
2016-11-21 20:24:47 +01:00
Shuhrat Dehkanov eafc27dc05 call _shutdown() before return/exit
Reviewers: jeanguyomarch, cedric

Reviewed By: cedric

Subscribers: minkyu

Differential Revision: https://phab.enlightenment.org/D4394

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-17 15:55:26 -08:00
Marcel Hollerbach eac39b5359 clouseau_client: add command line options
with -f you can specify a file which will get loaded. With -a you can
specify a address of a daemon.
2016-11-15 18:00:22 +01:00
Marcel Hollerbach b4bc63f028 clouseau_client: change the name of those symbols,
because of the preload, and the fact that _add is also used in
clouseau_app.c it was not possible to connect to a deamon while beeing in
a clouseau_start environment.

This enables the usecase of starting enlightenment with "clouseau_start
enlightenment_start" now you can connect with clouseau_client to your e
and debug the widgets.
2016-11-15 17:59:57 +01:00
Marcel Hollerbach e53de2b36c clouseau_data: use EET_COMPRESSION instead of EINA_TRUE
even if its not a functional change, passing there a boolean value is
wrong, it requires a compression from the enumaration
2016-11-14 13:46:25 +01:00
Marcel Hollerbach e462833622 clouseau_data: use stream not file
if a Clouseau item is added via a function call stringshares are used.
To get the same allocation when reading the Clouseau item from the fs we
can use eina stream instead of eina file. This fixes T4888.
2016-11-14 13:46:25 +01:00
Marcel Hollerbach 9083738d10 clouseau: lets bring back highlight in offline mode
if the screenshot of a offline app is open it will be highlighted again.
The problem was that the highlight in the offline mode still worked with
legacy data which was not generated. Now this informations are just
searched from the Efl_Dbg_Info structs.

To test this you can just take a screenshot of a app, save the app with
the button in the upper right. Then start clouseau again in offline
mode, after that you can select a file. Select the file where you have
saved your app before. If you now display the screenshot and click on a
element, this object is displayed.
2016-11-14 13:46:12 +01:00
Cedric Bail 11c42ebdf9 actually returning a value != from 0 would be more useful. 2016-11-11 10:55:16 -08:00
Shuhrat Dehkanov 9f62d59140 return 0 from main()
Summary:
Although, underlying value of EINA_FALSE is 0 the type former is Bool.
Hence, for the sake of consistency, let's return 0 from main().

Reviewers: jeanguyomarch, jeyzu

Subscribers: hyunseok, minkyu

Differential Revision: https://phab.enlightenment.org/D4392

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-11 09:47:05 -08:00
Jean Guyomarc'h 92abcec41b lib: fix compile-time warning
The expected type of the parameter to eet_data_image_read()
is Eet_Image_Encoding*, but int* was passed.
2016-08-21 22:00:42 +02:00