Ticket #2919 (closed task: fixed)
Reimplementation of widget subsystem
Reported by: | andrew_b | Owned by: | andrew_b |
---|---|---|---|
Priority: | major | Milestone: | 4.8.27 |
Component: | mc-core | Version: | master |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Branch state: | merged | Votes for changeset: | committed-master |
Description
Frist stage:
- Derive dialog from widget.
- Unification of widget and dialog callback functions and message handling.
- Enhance widget capabilities.
- New QuickDialog? engine that simplifies dialog building.
- Build dialogs in normal order only: place widgets from top-left down to bottom-right.
Change History
comment:1 Changed 12 years ago by andrew_b
- Owner set to andrew_b
- Status changed from new to accepted
comment:2 Changed 12 years ago by andrew_b
- Branch state changed from no branch to on review
Branch: 2919_dlg_as_widget (parent: master).
Initial changeset:6abcba470d3934c091d9b498ed48b3063261abfb
comment:5 Changed 12 years ago by angel_il
- Votes for changeset changed from slavazanko to slavazanko angel_il
- Branch state changed from on review to approved
comment:6 Changed 12 years ago by andrew_b
- Status changed from accepted to testing
- Votes for changeset changed from slavazanko angel_il to committed-master
- Resolution set to fixed
- Branch state changed from approved to merged
Merged to master: [47fc9f669f46ea9735e139eb871a65cc157fb94b].
git log --pretty=oneline f45f155..47fc9f6
comment:9 Changed 12 years ago by andrew_b
- Status changed from testing to reopened
- Resolution fixed deleted
comment:10 Changed 8 years ago by andrew_b
- Votes for changeset committed-master deleted
- Branch state changed from merged to on review
- Milestone changed from Future Releases to 4.8.18
The next stage: refactoring of widget select/deselect and focus/unfocus:
- add WOP_SELECTABLE option that shows whether widget can be selected (WInput, WCheck, etc) or not (WLabel, WGauge, etc). Test this option instead of callback call;
- add WST_FOCUSED state and use it instead widget-own states (WListbox::focused, WButton::selected, WTree::active, etc). Test this option instead of callback call;
- get rid of multiple widget redraw. In many cases messages MSG_DRAW and MSG_FOCUS (and/or MSG_RESIZE) are sent to widget in series. Handling these messages, widget is redrawn twice (for example, see input_callback():
case MSG_RESIZE: case MSG_FOCUS: case MSG_UNFOCUS: case MSG_DRAW: input_update (in, FALSE); return MSG_HANDLED;
MSG_DRAW message handler must be the only place where widget should be drawn. Widget should not draw itself in other message handlers.
Branch: 2919_widget_focus_refactoring
Initial changeset:85040195fabf14534ad47a01b4356cbcad1940bf
Some dialogs are located in top-left corner. This bug is fixed in 3641_cleanup branch.
comment:11 Changed 8 years ago by andrew_b
- Votes for changeset set to andrew_b
- Branch state changed from on review to approved
comment:12 Changed 8 years ago by andrew_b
- Status changed from reopened to closed
- Votes for changeset changed from andrew_b to committed-master
- Resolution set to fixed
- Branch state changed from approved to merged
Merged to master: [4d6ea432829250f32bfecba3bd7eadd35a546b09].
git log --pretty=oneline 9c3fe04..4d6ea43
comment:13 Changed 5 years ago by andrew_b
- Status changed from closed to reopened
- Votes for changeset committed-master deleted
- Resolution fixed deleted
- Branch state changed from merged to on review
- Milestone changed from 4.8.18 to 4.8.23
Next step: implementation of WGroup widget -- a base class for widgets which contain other widgets.
Branch: 2919_group.
Initial changeset:c36cd25cd44d98bad1ca3309fe5b49502a34cc8b
comment:14 Changed 5 years ago by andrew_b
- Branch state changed from on review to on rework
- Milestone changed from 4.8.23 to Future Releases
comment:15 Changed 5 years ago by andrew_b
- Branch state changed from on rework to on review
- Milestone changed from Future Releases to 4.8.25
Branch: 2919_group.
Initial changeset:874783d9e73a804064d41bb1421f7a0b1ccc46c5
comment:16 Changed 5 years ago by andrew_b
- Votes for changeset set to andrew_b
- Branch state changed from on review to approved
comment:17 Changed 5 years ago by andrew_b
- Status changed from reopened to closed
- Votes for changeset changed from andrew_b to committed-master
- Resolution set to fixed
- Branch state changed from approved to merged
Merged to master: [a55b3fb6847147251bac69b8a6c6218f6fc67aac].
git log --pretty=oneline afb09f7cd..a55b3fb68
comment:18 Changed 5 years ago by andrew_b
- Status changed from closed to reopened
- Resolution fixed deleted
comment:19 Changed 5 years ago by andrew_b
- Votes for changeset committed-master deleted
- Branch state changed from merged to no branch
- Milestone changed from 4.8.25 to Future Releases
comment:20 Changed 4 years ago by andrew_b
- Branch state changed from no branch to on review
- Milestone changed from Future Releases to 4.8.27
New widget state: WST_VISIBLE. Applied to make widget visible/invisible.
Branch: 2919_visible
Initial changeset:81aeb633e8de7e62117cf13b237ff2ddaaa94f5d
comment:21 Changed 4 years ago by andrew_b
- Votes for changeset set to andrew_b
- Branch state changed from on review to merged
comment:22 Changed 4 years ago by andrew_b
- Status changed from reopened to closed
- Votes for changeset changed from andrew_b to committed-master
- Resolution set to fixed
Merged to master: [0aaf74777d65ac2539b73c14d2e4e2baecb13451].
git log --pretty=oneline f67b6c1d0..0aaf74777
comment:23 Changed 4 years ago by andrew_b
- Status changed from closed to reopened
- Resolution fixed deleted
comment:28 Changed 9 months ago by zaytsev
- Milestone changed from 4.8.31 to 4.8.32
Actually are you planning to work on that? :) Just asking, because I keep moving this to the next milestone for the last 2 years...
comment:29 Changed 9 months ago by andrew_b
- Status changed from reopened to closed
- Resolution set to fixed
- Milestone changed from 4.8.32 to 4.8.27
OK.