Last modified 15 years ago
Last modified on 10/06/09 14:01:27
Analysis
Overview
Achieve consistant halos and huds.
Task requirements
- Create HUD names
- Regroup functionalities in the HUDs
- In frame properties HUD margins and padding should be added
- Create subhuds
- Only one sub hud can be displayed at a time
- Sub huds contain more functionality - for example, in appearence hud the border should be only one field, but in the border subhud it should be 4 fields.
- Add opacity to some huds
- A slider for opacity should be added for HUDs and subhuds
- For example - the frame appearence HUD should have 3 sliders - a general for the whole frame, one for the border and one for the background. The general slider should control the other two sliders.
- Create a Close button to each HUD
- HUDs should be closed from the Close button
- Sub-huds should be closed by the button that they were evoked
- Move the z+ and z- halos in the right side of the frame as they do not show any huds
- Halo menu is probably implemented there in previous tasks.
- Make content halo apear after a timeout.
- Make sure content halo never overlaps with other halos/huds.
Task result
- Code. HUD convention.
Implementation idea
- Each hud should contain 3 different font sizes and 3 different indents from the left border of the HUD - for heading, subheading and normal font. Please see pictures below.
Related
FRAME_APPEARANCE_HALO_AND_HUD_R0
How to demo
Show the new HUDs
Design
- Create a class representing a title bar for huds. It will be used for main title bars of huds and sub title bars. The sub-title bars as presented in the requirements section will form sections inside the hud.
- The class will be named HudTitleBar. This visual element will is extended to have a title label, some dividing panels and some buttons. The title is defined in the skin with the string representation of the title, font used by the title and font color. The buttons appended at the end of the title bar are of the following types:
- HudButton - a button that deals with huds. It has the following descendants:
- SubHudButton - extending HudButton. It should take care for showing/hiding a particular subHud in its parent hud. [6552]
- CloseHudButton - extending HudButton. It should be capable of closing a HudDialog.
- This way we have title bars that are main title bars appearing at the top of a hud. At the right most corner appears a CloseHudButton and sub title bars that divide the hud into sections. At the right most corner of sub hud title bars appears either a sub hud button or nothing, depending on whether the properties of the section are further customizable. For example in the insets title bar there is a sub hud button that allows the user to further customize the margins and paddings of the four sides of a frame.
- Other buttons that appear in the hud title bar are the so called control buttons (Use template, use custom and lock buttons). The are not mandatory! These are wrapped in the class called ControlButtonGroup, containing the three buttons and implementing a logic to manage the model.
- In order to have the desired appearance for the bound controls we should define skin ids for font and font color in bound control class. The font and font color will be set to the labels of the bound control, making them skinnable and appearing as required. The fonts used are Arial and Georgia with size differing from 12 to 10. Their color has RBG values as follows: 0.17578125f, 0.26171875f, 0.6875f.
- Remove visibility properties and methods from HudDialog as we can have only one active hud/subHud and these are only making huds harder to use. [6552]
- As we want to hide all subHuds of given hud upon its closing add a hideSubHuds method to HudDialog. [6569]
- Remove code about extension huds as we are not using it and we dropped the idea of such huds. [6570]
- Integrate the newly implemented button for existing subHuds. [6579]
- Create a class ElementHud which is subclass of HudDialog. It has a list property named context containing ElementView objects that are currently under control of this hud.
- We should also define a class that binds two text fields with double values having a ratio between them. This is what should be implemented for width and height of frames.
- All huds will be rearranged as proposed by the requirements section.
- Changesets:
Implementation
Merged to the trunk at [7299].
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)
Attachments
- appearence.png (16.6 KB) - added by deyan 16 years ago.
- appearence_background.png (24.5 KB) - added by deyan 16 years ago.
- appearence_border.png (20.8 KB) - added by deyan 16 years ago.
- appearence_shadow.png (19.9 KB) - added by deyan 16 years ago.
- content_video.png (17.3 KB) - added by deyan 16 years ago.
- properties.png (18.8 KB) - added by deyan 16 years ago.
- properties_bounds.png (26.4 KB) - added by deyan 16 years ago.
- properties_orientation.png (19.3 KB) - added by deyan 16 years ago.
-
zorderhalos.jpg
(49.9 KB) -
added by deyan 16 years ago.
More native solution for the z-order halos