wiki:BASE_HALOS_R1

Version 22 (modified by peko, 16 years ago) (diff)

--

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

Error: Macro TicketQuery(summary=BASE_HALOS_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

Overview

Halos currently are static. The halo menus should be rearranged. There should be at least

  • Upper halo menu - inside the frame title bar. See FRAME_POSITION_R1. This halo menu should allow left and right justification of halos (at the same time)
  • Left and right halo menus
  • Inner halo menu - this is for content halos. For example - Text and Paragraph halos should appear inside the text and should be moved above caret after a timeout. Other example is for video frames - the content HUD should appear on click inside the frame over the mouse.
  • Vertical halo menus may be needed too.


Task requirements

  • Implement content halo menu.
  • Implement bottom right halo menu (for rotation halo) and move the rotation halos there for now.
  • Optional - implement vertical halo menus

Task result

Source

Implementation idea

FRAME_POSITION_R1

How to demo

  • Demonstrate the new position of content and rotation halos

Design

  • Implement content halo menu.
    • Content halo menu does not differ from other halo menus, except for its location. This means that the "computeLocation" method should be implemeted differently for every halo menu so that it appears in the right place. For the TextHaloMenu this means:
      • A method ImmPoint getHitPint(HotPos hotPos) should be implemented in HotTextLayout class. It should return an ImmPoint for the caret. (A method that returns the HotPos given an ImmPoint is already implemented.)
      • TextHaloMenu should return a relevant location in its computeLocation method using this method and providing the position of the caret in the text.
      • For other halo menus that should deal with content, other approaches may be defined.
  • Implement halo aligning (left and right at the same time for top halo menu) - see [GROUP_BASE_HALOS_AND_FRAME_POSITION_R1] where aligning is described.
  • Optional - implement vertical halo menus
  • Implement bottom right halo menu (for rotation halo) and move the rotation halos there for now.
    • botton right halo menu will be a FloatingHaloMenu (see GROUP_BASE_HALOS_AND_FRAME_POSITION_R1) at the specified location as in the diagram. The computeLocation will provide the location of the menu.
  • The TextChainMenu will have two buttons that are located at the end of the menu. Currently one of them is at the beginning and the other at the end. They are not visible at the same time, since one is for chaining and the other is for unchaining. The TextChainTopMenu is going to become a StaticHaloMenu with a left position. Its button is going to be located at the start of the menu (see GROUP_BASE_HALOS_AND_FRAME_POSITION_R1).
  • Changesets - see changesets in GROUP_BASE_HALOS_AND_FRAME_POSITION_R1.

Implementation

(Describe and link the implementation results here (from the wiki or the repository).)

Testing

(Place the testing results here.)

Comments

(Write comments for this or later revisions here.)

Attachments