Skip to content

Add BreakBeforePoint + Break on component lifecycle#206

Merged
labordep merged 9 commits into
mainfrom
better_inspector
Feb 11, 2025
Merged

Add BreakBeforePoint + Break on component lifecycle#206
labordep merged 9 commits into
mainfrom
better_inspector

Conversation

@Nyan11

@Nyan11 Nyan11 commented Feb 6, 2025

Copy link
Copy Markdown
Collaborator

No description provided.

@Nyan11

Nyan11 commented Feb 6, 2025

Copy link
Copy Markdown
Collaborator Author

image

image

@Nyan11

Nyan11 commented Feb 6, 2025

Copy link
Copy Markdown
Collaborator Author

image

@Nyan11
Nyan11 requested a review from LabordePierre February 6, 2025 12:32

@LabordePierre LabordePierre left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Nyan11 I think we need to clarify two cases:

  • Object Centric Breakpoint
  • No-Object Centric Breackpoint (classic)
    This can be done by explicit labels (not sur to know if this OCB or not).

Other remark:

  • A component can be re-activated after passivation, not only when a new component is create. This is why I'm asking on top. Example: Can I add a breakpoint on passivate for "this" component (#default) of for all components with this "component type"?

@LabordePierre LabordePierre added the enhancement New feature or request label Feb 6, 2025
@Nyan11

Nyan11 commented Feb 6, 2025

Copy link
Copy Markdown
Collaborator Author

@Nyan11 I think we need to clarify two cases:

Object Centric Breakpoint
No-Object Centric Breackpoint (classic)
This can be done by explicit labels (not sur to know if this OCB or not).

I agree, i think there should be 2 type of logos:

  • The "!" red: for classic breakpoint.
  • A "!" + something else for object-centric.

This change should be done also in the PharoDebugger project.

  • A component can be re-activated after passivation, not only when a new component is create. This is why I'm asking on top. Example: Can I add a breakpoint on passivate for "this" component (#default) of for all components with this "component type"?

In the inspector of deployed components:

  • Halt once when #initialize is a classic Breakpoint. It will break on any new instance (or the same instance).
  • Halt once when #activate is a classic Breakpoint. It will break on any new instance (or the same instance).
  • Halt when #passivate is an Object Centric Breakpoint. It will only break for this instance.
  • Halt when #remove is an Object Centric Breakpoint. It will only break for this instance.

In the browser:

  • Break once on #componentInitialize is a classic Breakpoint. It will break on any new instance (or the same instance).
  • Break once on #componentActivate is a classic Breakpoint. It will break on any new instance (or the same instance).

@Nyan11

Nyan11 commented Feb 10, 2025

Copy link
Copy Markdown
Collaborator Author
  • Better world menu (show molecule graph + inspect)
  • Put the molecule graph on the inspector in the last position
  • Add classical breakpoint on lifecycle in the browser menu
  • Add button on the molecule graph (inspect deployed components + refresh the graph)
  • Change some logo on the molecule browser menu (for the molecule specialized panels)
  • Add molecule specialized panels in the molecule graph
  • Add lifecyles breakpoint on molecule graph (classic and object-oriented)
  • Add object oriented breakpoint on the component contracts
  • I also clean up the old code of Molecule-IDE and remove lot of unescessary things.

Currenlty there is a bug on object centric breakpoint (see: pharo-project/pharo#17808), that does not allow to open the Debug Point Browser if you use the object-centric debug point. You need to clear them all using the "Remove All Debug Points" in the same menu.
image

Also there are problem with object-centric breakpoint in GPS example with the fork. If you try to put it in the Events of MolGNSGPS it will not trigger. It should trigger inside the #componentActivate method but it does not ???
image

Pictures

New world menu:
image
image

New Molecule browser menu + new icons for old panels:
image
image
image

Molecule graph:
image
image

@Nyan11
Nyan11 requested a review from LabordePierre February 10, 2025 16:48
@Nyan11

Nyan11 commented Feb 11, 2025

Copy link
Copy Markdown
Collaborator Author

@labordep @LabordePierre

@labordep
labordep merged commit 0418d6c into main Feb 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants