Ticket #2180 (closed feature: obsolete)
media-hud-controls - Toggle show of media controls.
Reported by: | deyan | Owned by: | deni |
---|---|---|---|
Priority: | critical | Milestone: | X3 |
Component: | uncategorized | Version: | 2.0 |
Keywords: | Cc: | ||
Category: | unknown | Effort: | 2 |
Importance: | 85 | Ticket_group: | |
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Analysis_owners: | todor | Design_owners: | deni |
Imp._owners: | deni | Test_owners: | |
Analysis_reviewers: | deni | Changelog: | |
Design_reviewers: | meddle | Imp._reviewers: | meddle |
Test_reviewers: | Analysis_score: | 4 | |
Design_score: | 3.5 | Imp._score: | 3.5 |
Test_score: | 0 |
Description (last modified by todor) (diff)
• the visibility of an audio/video controller needs to be up to the author.
- In the appearance HUD of the video and audio frames, there must be a checkbox for toggling the visibility of the mediaframe controls.
- It must be labeled as "Show media controls".
- When the checkbox is marked the controls should be visible in preview mode and reader.
- When the checkbox is empty the mediaframe controls and the progress bar must be not visible in the preview mode and reader.
- By default the media frame controls are visible.
Change History
comment:1 Changed 15 years ago by deyan
- Importance changed from 75 to 85
- Summary changed from media-frame-content-hud to media-hud-controls : Show Controls
comment:2 Changed 15 years ago by deyan
- Priority changed from major to critical
Batch update from file 0911261.csv
comment:3 Changed 15 years ago by todor
- Category set to unknown
- Status changed from new to s1a_analysis_started
- Description modified (diff)
- Analysis_score set to 0
- Test_score set to 0
- Design_score set to 0
- Owner set to todor
- Imp._score set to 0
- Analysis_owners set to todor
comment:4 Changed 15 years ago by todor
- Status changed from s1a_analysis_started to s1b_analysis_finished
comment:6 Changed 15 years ago by todor
- Summary changed from media-hud-controls : Show Controls to media-hud-controls - Toggle show of media controls.
comment:7 Changed 15 years ago by deni
- Design_owners set to deni
- Status changed from s1b_analysis_finished to s1c_analysis_ok
- Imp._owners set to deni
- Analysis_reviewers set to deni
- Analysis_score changed from 0 to 4
- As discussed with Deyan, there will be 3 controls for showing/hiding the Play/Pause button, the Stop button and the seekbar, respectively.
- Besides, we won't use checkboxes, but toggle buttons.
- These toggle buttons will manipulate the visibily of media controls in author mode, too. It doesn't seem reasonable to me to show a play button which the author has disabled in preview mode and cannot use in edit mode. Plus, it will be easier to implement :-)
comment:8 Changed 15 years ago by deni
- Owner changed from todor to deni
- Status changed from s1c_analysis_ok to s2a_design_started
comment:9 Changed 15 years ago by deni
- Status changed from s2a_design_started to s2b_design_finished
- Model:
- Add three new keys in MediaFrameR4:
- KEY_SHOW_PLAY_BUTTON holds informations whether the Play/Pause button should be shown.
- KEY_SHOW_STOP_BUTTON holds informations whether the Stop button should be shown.
- KEY_SHOW_SEEKBAR holds informations whether the seekbar should be shown.
- Add the appropriate helper methods in MediaFrameH.
- Add three new keys in MediaFrameR4:
- Hud & Logic:
- Add the following elements in MediaPropertiesHud:
- public static class ShowMediaControlsTitleBar extends HudTitleBar
- public static class ShowPlayPauseButton extends LogicR3ToggleButton
- public static class ShowStopButton extends LogicR3ToggleButton
- public static class ShowSeekBar extends LogicR3ToggleButton
- Add an inner static enum in MediaPropertiesHud containing the IDs of the events that can be fired from the hud:
- SHOW_CONTROL
- HIDE_CONTROL
- They both change the visibility of a given conrol and have 2 parameters. The first one is the Key that should be used and the second one - the description of the AutoAction that will be registered.
- Add the following elements in MediaPropertiesHud:
- Add the following operations in MediaPropertiesHudLogic :
- ON_SHOW_CONTROL
- ON_HIDE_CONTROL
- Changes to media manipulation views:
- Override the computeVisible() methods of PlayPauseMediaManipulationView, StopMediaManipulationView and SeekMediaManipulationView to respect the settings of their parent media frame.
- When conputing the position of a manipulator in ContentManipulationView take into account only content manipulators that are visible.
- Change the width property in SeekMediaManipulationView to be the width of the containing frame - the widths of all visible manipulation views that are before the seek bar.
- Source code: [8440]
comment:10 Changed 15 years ago by meddle
- Status changed from s2b_design_finished to s2c_design_ok
- Design_score changed from 0 to 3.5
- Design_reviewers set to meddle
- You didn't mention that you'll make the icon property of the manipulation view public...
- You can add public width and height properties instead...
- Your logic should have only one handler -> ON_TOGGLE_BUTTON.
- Add the show/hide parameter as a parameter to your event.
- Make your private method take more arguments, instead taking the event and extract the event parameters in the handler itself.
- Make the new keys TemplatedKeys it will be good for this options to be templated.
- Add the fixes which you will do and about which you talked with pap to the implementation notes.
- Fix you spaceings for some 'if's...
3.5p
comment:11 Changed 15 years ago by deni
- Status changed from s2c_design_ok to s3a_implementation_started
comment:12 Changed 15 years ago by deni
- Status changed from s3a_implementation_started to s3b_implementation_finished
- LogicR3ToggleButton changes:
- Reason:
- When using toggle buttons in a hud, their state (selected/deselected) should be updated when we select another frame.
- Updating the state of toggle buttons:
- Add a new boolean selected AutoProperty in LogicR3ToggleButton that holds whether the toggle button should be selected or not.
- Its compute method calls a new abstract method public boolean computeSelected() which by default returns getInitialState(). It should be overriden in subclasses to provide the neccessary logic.
- Add a setup method in the ResourceProperty in SkinnableButton which calls the new empty method protected void setupExra(AbstractButton res). It will be overriden in subclasses to provide the necessary logic.
- Override setupExra(AbstractButton res) in LogicR3ToggleButton
- Synchronization:
- add a private boolean field synchronizing and the following public methods to get/set its value:
- public boolean isSynchronizing()
- public void startSynchronizing()
- public void stopSynchronizing()
- when synchronizing the model and view (in ItemListener.itemStateChanged(ItemEvent) from the view to the model and in setupExra(AbstractButton) from the model to the view) do the following:
- if isSynchronizing() returns true, don't do anything
- call startSynchronizing()
- update the model or the view in a try block
- call stopSynchronizing() in a finally block
- add a private boolean field synchronizing and the following public methods to get/set its value:
- Reason:
- MediaPropertiesHud changes:
- override public boolean computeSelected() in ShowPlayPauseButton, ShowStopButton and ShowSeekBar
- Templating the 'Show media controls' options:
- As suggested in the design review, make the 3 new keys in MediaFrameR4 TemplatedKeys.
- Add a new CompositeKey - KEY_SHOW_CONTROLS and make the names of the other three keys start with <its name + ":">
- This will ensure that the 'Show media controls' options appear in TemplateDialog and can be templated like all other keys.
- Replace the events SHOW_CONTROL and HIDE_CONTROL with a new event TOGGLE_CONTROL with one additional parameter:
- As suggested in the design review...
comment:13 Changed 15 years ago by meddle
- Status changed from s3b_implementation_finished to s3c_implementation_ok
- Imp._score changed from 0 to 3.5
- Imp._reviewers set to meddle
Merged to the trunk at [8454].
There was an exception thrown when resizing the frame to be the smallest possible at width and height, I fixed it...
3.5p
comment:14 Changed 13 years ago by meddle
- Status changed from s3c_implementation_ok to closed
- Resolution set to obsolete
Closing all the tickets before M Y1
Note: See
TracTickets for help on using
tickets.
Batch update from file report_1.csv