Feat: Added Export Particles Button - #577
Merged
Merged
Conversation
- Added Dialog boxex for Exporting Particle Picking Results by Job ID and if user created any custom groups. The filename to be saved gets auto poopulated to the Job ID or New Group name. Button is placed in Particle Picking Assets Panel.
Tooltip existing in the wxformbuilder did not make it into the auto-generated ProjectX_gui_assets.cpp. Just ran Generate in the formbuilder project to produce this.
twagner9
force-pushed
the
ParticlePickingExport
branch
from
June 10, 2026 15:54
72451fa to
47b6b72
Compare
twagner9
approved these changes
Jun 11, 2026
twagner9
left a comment
Collaborator
There was a problem hiding this comment.
Tested the functionality and it looks good.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Added Dialog box for Exporting Particle Picking Results by Job ID and if user created any custom groups. The filename to be saved gets auto poopulated to the Job ID or New Group name. Button is placed in Particle Picking Assets Panel. fixed Import Particles to create a new group by default once Particles are successfully imported.
Summary
MyPickingJobExportDialog— a new dialog for selecting which picking job or user group to export, with auto-populated default filenameswxPrintf) from the import path.fbpfiles to keep them in sync with all hand-edited generated codeDetails
Export button moved to Asset Panel — The Export button was originally prototyped on the per-image
PickingResultsDisplayPanel, which meant a separate button appeared for every image in every job. This was the wrong level of granularity. The button is now onAssetPanelParent(hidden by default) and revealed only byMyParticlePositionAssetPanel, matching the scope at which particle positions are managed. The.fbpfile (ProjectX_assets.fbp) was updated so future wxFormBuilder regeneration preserves the button.MyPickingJobExportDialog— A hand-codedwxDialog(no fbp) that populates awxComboBoxwith two visually separated sections:pick_job_idvalues found in the assets table ("All Jobs", "Job #N", "Manually picked"), each showing particle countwxFileDialogis pre-populated with a sanitized default filename derived from the selection (e.g.particles_job_3.txt,particles_My_Group.txt)MyParticlePositionExportDialogImage# X Ywith a#-prefixed header line so the Import parser skips it cleanlyImport group creation fix — Previously
ImportAssetClickcalledAddAsset()for each parsed line, which only adds particles to group 0 ("All Positions"). After import there was no UI refresh, so the panel did not update until project reload. The fix:all_groups_listand the database viaAddGroupToDatabaseEndParticlePositionAssetInsert, batch-inserts group membership viaInsertArrayofGroupMembersToDatabaseFillGroupList(),FillContentsList(),DirtyGroups(), andRecalculateAssetBrowser()so the panel updates immediately without a project reloadDebug print removed —
wxPrintf("Current Line = %s, number_tokens = %li\n", ...)was being called on every non-empty, non-comment line during import, producing verbose stdout output in production builds.Build system —
MyPickingJobExportDialog.hand.cppadded tosrc/Makefile.amalongside the other export dialog files.Related Issues/PRs
I have rebased my feature branch to be current with the master branch using to minimize conflicts and headaches
Which compilers were tested
These changes are isolated to the
How has the functionality been tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.
Checklist: