Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ask about the source code in grabbing QT messages. #1006

Closed
LWYgut opened this issue Aug 6, 2024 · 1 comment
Closed

Ask about the source code in grabbing QT messages. #1006

LWYgut opened this issue Aug 6, 2024 · 1 comment

Comments

@LWYgut
Copy link

LWYgut commented Aug 6, 2024

Thank you for the wonderful open source code!
The GammaRay software is very useful and has caused me great interest in reading the source code to learn it, but I have recently encountered two difficulties and would like to ask you about them.

Q1:Recently I was reading through your code and found that there are a lot of folders and I can't tell what each of them does, can you briefly describe what each folder does?

Q2:When I use GammaRay software, I found that it can capture the changing content of the same control. And for any control, it can go directly to the corresponding qml source file. I would like to know which part of your open source code is responsible for these two functions?
a. GammaRay captures changing text content on the same control.
b. Each control's object tree and its corresponding qml file path can be found.

Looking forward to your reply, I would greatly appreciate it!

@Waqar144
Copy link
Contributor

Waqar144 commented Aug 6, 2024

Hi, there. The first one is a really broad question and not sure how to answer that. Gammaray is usually (not alway) divided into a server and client. The server is injected in the application being inspected and the client is used to see and modify things at runtime. We have different plugins that handle different modules of Qt e.g., widgets and quick inspector

Every feature is split into a UI part and the backend part which is actually responsible for making the change in the app being inspected. E.g., we have PropertyAdaptors in the backend and PropertyEditors on the UI side. Similarly there is /ObjectTreeModel which has a tree of all the objects including details such as where they were constructed.

I would suggest you to read individual commits or PRs adding a feature to see how things are done rather than reading the source code raw.

@Waqar144 Waqar144 closed this as completed Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants