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

[3SP, 3.5SP] UI: Toolbar supporting custom sub-menus #131

Closed
ivan-cukic opened this issue Dec 21, 2023 · 3 comments · Fixed by #155
Closed

[3SP, 3.5SP] UI: Toolbar supporting custom sub-menus #131

ivan-cukic opened this issue Dec 21, 2023 · 3 comments · Fixed by #155
Assignees

Comments

@ivan-cukic
Copy link
Contributor

ivan-cukic commented Dec 21, 2023

The toolbar should have buttons for

  • sub-menu to choose selector (initially string entry only, ala. FAIR.SELECTOR.C=0:S=1:P=0, FAIR.SELECTOR.C=0:S=1:P=-1, or FAIR.SELECTOR.C=*
  • controlling scheduler execution - start/stop

Image

pre-requisite to be completed: fair-acc/gnuradio4#210

@ivan-cukic ivan-cukic converted this from a draft issue Dec 21, 2023
@RalphSteinhagen RalphSteinhagen moved this from 🆕 Ideas (∞) to 🔖 Selected (3) in Digitizer Reimplementation Dec 21, 2023
Waqar144 added a commit that referenced this issue Feb 19, 2024
@Waqar144
Copy link
Contributor

Waqar144 commented Feb 20, 2024

  • The primary task to have a default toolbar in the UI that is shown/populated if there are 'drawable' blocks in the flow-graph
  • A block will need have a drawable type, probably an enum e.g., enum { Toolbar, Chart, None }.
  • Whenever there is a drawable Block detected the UI should keep a weak reference and invoke the Block::draw() method. See example here https://github.com/fair-acc/graph-prototype/pull/250/files
  • The first two types of blocks would be
    1. play-stop (run once and then stop), play (run until stopped or paused), continuous (<-> streaming mode), pause and stop (initially deactivated) requires the corresponding state-machine should emit a Message containing the corresponding 'pushed'/'released'/'active state' info
      Untitled

    2. basic label that shows the last received control message received via MsgPortIn ctrl_in

    3. optional: combo box with both ctrl_[in,out] that received and shows a received message (add this to the existing list) or emit a message if the user changes the selected index

  • to be discussed: design of lifecycle management of UI blocks (when to keep/destroy, etc.)
  • this would be followed-up with the 'chart' type blocks: [3-5SP, 5SP] UI: Implement charts that can show DataSets #132

@Waqar144
Copy link
Contributor

Current state of the toolbar UI

Screenshot_20240221_230715

Waqar144 added a commit that referenced this issue Feb 22, 2024
Waqar144 added a commit that referenced this issue Feb 22, 2024
@Waqar144
Copy link
Contributor

  • There are 2 new block types representing Toolbar blocks now: GRPlayStopToolbarBlock and GRLabelToolbarBlock. The types are defined in toolbar_blocks.h and are registed in main.cpp.
  • DigitizerUI::Block has a new draw() function which can be implemented to draw a Drawable block.
  • DigitizerUI::Block has a new function isToolbarBlock() which returns true if the block is of ui::Category::Toolbar type

Peek 2024-02-22 19-02

@Waqar144 Waqar144 changed the title [3SP] UI: Toolbar supporting custom sub-menus [3SP, 3.5SP] UI: Toolbar supporting custom sub-menus Feb 22, 2024
@Waqar144 Waqar144 moved this from 🏗 In progress to Finished Implementation (2) in Digitizer Reimplementation Feb 22, 2024
@Waqar144 Waqar144 linked a pull request Feb 23, 2024 that will close this issue
@RalphSteinhagen RalphSteinhagen moved this from Finished Implementation (2) to ✅ QA-Accepted/Merged (∞) in Digitizer Reimplementation Feb 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: QA-Accepted/Merged (∞)
Development

Successfully merging a pull request may close this issue.

3 participants