wiki:GROUP_BASE_HALOS_AND_FRAME_POSITION_R1
Last modified 3 years ago Last modified on 07/15/09 17:44:23

Pages linking to GROUP_BASE_HALOS_AND_FRAME_POSITION_R1:
BASE_HALOS_R1
GROUP_GUI_REDESIGN_R0
HALOS_REDESIGN_R0

Ticket Summary Owner Status Type Component Priority Effort Importance
#1781 GROUP_BASE_HALOS_AND_FRAME_POSITION_R1 peko closed unplanned_task uncategorized major

Reported by peko, 3 years ago.

Description

This group unites BASE_HALOS_R1 and FRAME_POSITION_R1. This got quite complicated and these two have a lot in common.

GROUP_BASE_HALOS_AND_FRAME_POSITION_R1

Analysis_score

0

Design_owners

peko, vlado

Design_reviewers

kyli

Design_score

3

Imp._owners

peko, vlado

Imp._reviewers

pap

Imp._score

3

Test_score

0

Analysis

Design

  • See the following:
  • The task requirement that is about aligning of halo buttons will be described here:
    • The HaloMenu currently deals with all buttons and we have only one type of halo. As the halo menus multiply, we need a way to restrict location of halo buttons in the menu. That is way we will have two types of halo menus:
      • FloatingHaloMenu - which is more of less like the current HaloMenu. It can have different locations. This is the case with the content halo idea, where the halo menu follows the caret in the text for example.
      • In addition to that one we will introduce another kind of halo menu that is bound to a rectangle - StaticHaloMenu. The implementations of this halo should provide a position according to the rectangle and the rectangle itself:
                        /////////////////////////////////////////
        		//				       //
        		//	**** -top		       //
        		//	+-----------+* - right	       //
        		//	|	    |*		       //
        		//	|	    |*		       //
        		//	|	    |		       //
        		//	|	    |*		       //
        		//	+-----------+	 	       //
        		//	*****	                       //
        		//	   |			       //
        		//	bottom			       //
        		//				       //
        		/////////////////////////////////////////
        		
        	
                               TOP, BOTTOM, LEFT, RIGHT
        
    • Having these positions menus will be positioned at the specified side. What is more menus will have an orientation - vertical for left and right sides. If a menu is to be bound to a corner of a rectangle it will be a floating halo menu, since there is now button alignment for it. What is more, StaticHaloMenus provide buttons' margin and padding. The MENU_PADDING is the distance between the rectangle of the menu and its buttons. The BUTTON_MARGIN is the margin between buttons.
    • An implementation of the StaticHaloMenu menu will be provided that is bound to the selection rectangle in the PageWorkArea. This is usually the rectangle that menu are going to be bound to. ( seeSelectionHaloMenu for more info.)
  • HaloMenus need to align their buttons. This means that buttons in a StaticHaloMenu should be able to be aligned at both ends of the side of the rectangle. That is why HaloButton should have an alignment property. This is going to be START and END of the halo menu. By default buttons will be aligned at the start of the menu. For floating halo menus buttons will always be aligned at the start. No matter what an alignment of a halo button is, if it is put in a FloatingHaloMenu, its alignment is ignored!

Implementation

  • Entirely according to design in:
  • Additional changesets
    • 4213
    • 4265 - bug fix in the TextFontHaloMenu.

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)