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

Error: Macro BackLinksMenu(None) failed
compressed data is corrupt

Error: Macro TicketQuery(summary=GROUP_BASE_HALOS_AND_FRAME_POSITION_R1, format=table, col=summary|owner|status|type|component|priority|effort|importance, rows=description|analysis_owners|analysis_reviewers|analysis_score|design_owners|design_reviewers|design_score|implementation_owners|implementation_reviewers|implementation_score|test_owners|test_reviewers|test_score|) failed
current transaction is aborted, commands ignored until end of transaction block

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.)