Skip to content

Graphics Update/New UI for VPR #2085

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

Merged
merged 17 commits into from
Jul 16, 2022
Merged

Graphics Update/New UI for VPR #2085

merged 17 commits into from
Jul 16, 2022

Conversation

SebastianLievano
Copy link
Contributor

@SebastianLievano SebastianLievano commented Jul 5, 2022

Description

A complete revamp of VPR's UI.

  • Moved all menu options to separate dropdown menus
  • Moved button initialization to main.ui file
  • Significant changes to callback functions to allow for new placements
    OLD UI:

Screen Shot 2022-07-04 at 11 57 27 PM

NEW UI:

Screen Shot 2022-07-05 at 12 41 44 AM

CODE CHANGES:

  • Essentially deleted most of buttons.cpp/.h (old button creation functions) and added new files ui_setup.cpp/.h which contain gtk signal connections for callback functions, as well as show/hide options for diff. menu sections
  • Rewrote all initial setup functions to:
    a) Stop calling each other
    b) Call either the setup or hide functions for different menu options depending on which ones they show
  • Edited callback functions to:
    a) Function with app->get_object() which works on any object in the application
    b) have _cbk in their name to make their purpose clear and prevent accidental calling in any other context
    c) Be better documented (documentation was pretty good before actually, just added doxygen format)

Motivation and Context

Old UI was essentially unusable on smaller screens. Due to the manner in which buttons were created/initialized, they simply appeared in an unscrollable stack on the side. To increase usability, I sorted the menus into different dropdown options. This resembles industry standard.

How Has This Been Tested?

As each new button was created and added, its behavior was tested and compared to the same buttons performance on the master branch. To test different setup options, the cmd line was used to run vpr graphics in different stages.

Types of changes

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My change requires a change to the documentation
  • I have updated the documentation accordingly (Will Update Soon, writing a glade/gtk quickstart which will be linked)
  • All new and existing tests passed

@github-actions github-actions bot added the VPR VPR FPGA Placement & Routing Tool label Jul 5, 2022
@vaughnbetz
Copy link
Contributor

Failures so far are due to all servers busy; Sebastian tells me they passed previously. Please re-run the failed tests, but if it's holding you up I can merge in advance of those.

@vaughnbetz vaughnbetz merged commit 25e723a into master Jul 16, 2022
@vaughnbetz vaughnbetz deleted the Seb_GraphicsUpdate branch July 16, 2022 14:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
VPR VPR FPGA Placement & Routing Tool
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants