Ticket #2007 (closed bug: fixed)
Newly created frames should be on focus
Reported by: | deyan | Owned by: | deni |
---|---|---|---|
Priority: | major | Milestone: | M12_RELEASE |
Component: | uncategorized | Version: | 2.0 |
Keywords: | feedback | Cc: | |
Category: | unknown | Effort: | |
Importance: | Ticket_group: | ||
Estimated Number of Hours: | 0 | Add Hours to Ticket: | 0 |
Billable?: | yes | Total Hours: | 0 |
Analysis_owners: | deyan | Design_owners: | deni |
Imp._owners: | deni | Test_owners: | |
Analysis_reviewers: | deni | Changelog: | |
Design_reviewers: | meddle | Imp._reviewers: | meddle, mira |
Test_reviewers: | Analysis_score: | 2 | |
Design_score: | 2 | Imp._score: | 3.5 |
Test_score: | 0 |
Description
When you create a frame, it should be selected. For example, you should be able to select text right after inserting it.
Change History
comment:2 Changed 16 years ago by deyan
- Keywords feedback added
User feedback:
- "When trying to create a insert text, there was no shortage in difficulties. First, it created a text box that was unable to be edited. After two or three tries of that, an error message popped up."
comment:3 Changed 16 years ago by deni
- Status changed from s1b_analysis_finished to s2a_design_started
comment:4 Changed 16 years ago by deni
- Status changed from s2a_design_started to s2b_design_finished
- Add a new method in ElementView, which finds the view of a child resource of its model by reference - public ElementView getSubView(ResourceRefR4 ref)
- In all logic that create new frames, use this method to find the FrameView of the newly created frame and select it.
- Done for image frames in: [6790]
comment:5 Changed 16 years ago by meddle
- Design_owners set to deni
- Status changed from s2b_design_finished to s1c_analysis_ok
- Imp._owners set to deni
- Analysis_reviewers set to deni
- Analysis_score changed from 0 to 2
- Imp._reviewers set to meddle
- Design_score changed from 0 to 2
- Design_reviewers set to meddle
- Imp._score changed from 0 to 2
That fix will lead to code repeating in all the insert-frame logics... May be you should create method that selects a view by it's ResourceRef in the ElementView, instead of this.
Write your name as an owner of the design and implementation and as a reviewer of the analysis and set the ticked to im-fi to us to check both the implementation and the design.
2p (15m)
comment:6 Changed 16 years ago by deni
- Owner set to deni
- Status changed from s1c_analysis_ok to s2a_design_started
comment:7 follow-up: ↓ 8 Changed 16 years ago by deni
- Status changed from s2a_design_started to s3b_implementation_finished
- Selecting newly created frames:
- Add a new method selectLastElement() in ElementView which selects the lastly added child element of the view's model. This is the last element in its children list.
- In selectLastElement() check whether the last added element is a frame and if so, set the focus to its content element (so that users are able to write in text frame right after inserting them).
- It turned out that frames lose focus when they are rotated using the moveable rotation halo. Therefore the focus should be set in mouseReleased of the MouseCapture in FrameRotateHaloButton, too.
- In all logics that insert new frames, call selectLastElement() on the parent view after the AutoActions that create the frame. These logics are:
- ImageLogic
- MediaLogic
- HotTextLogic
- CommentLogic
- BrowserLogic
- EmbeddedBookLogic
- HtmlLogic
- PdfLogic
- RtfLogic
- Inserting frames in the current edit scope:
- Currently frames are always inserted as direct children of the page. However, if the current edit scope is a group, they should be inserted in the group.
- Move selectInsertLocation() and addElement(..) from PageH to ElementH.
- In all logics that create new frames, make sure that frames are inserted as the current edit scope as a parent.
comment:9 Changed 16 years ago by mira
- Status changed from s3b_implementation_finished to s3c_implementation_ok
- Imp._score changed from 2 to 3.5
- Imp._reviewers changed from meddle to meddle, mira
- I don`t think that this is the best way to select the frame with - selectLastElement(). I believe this is higher level logic. Maybe you can keep the reference to the newly created element and select it.
- There is similar code in all logics. Its is best for this to be extracted in a
util method.
- The flash logic insertion is not fixed.
- When inserting a sticky it is not selected and you can not write directly in it.
Merged at [6993].
comment:10 Changed 15 years ago by deyan
- Status changed from s3c_implementation_ok to closed
- Resolution set to fixed
fixed
Note: See
TracTickets for help on using
tickets.