Replay scrollbar changes in dialogs' scrollbars
This commit is contained in:
@@ -569,6 +569,16 @@ void cDialog::handle_events() {
|
|||||||
}else if(replaying && has_next_action("field_selection")) {
|
}else if(replaying && has_next_action("field_selection")) {
|
||||||
cTextField& text_field = dynamic_cast<cTextField&>(getControl(currentFocus));
|
cTextField& text_field = dynamic_cast<cTextField&>(getControl(currentFocus));
|
||||||
text_field.replay_selection(pop_next_action());
|
text_field.replay_selection(pop_next_action());
|
||||||
|
}else if(replaying && has_next_action("scrollbar_setPosition")){
|
||||||
|
Element& next_action = pop_next_action();
|
||||||
|
auto info = info_from_action(next_action);
|
||||||
|
std::string name = info["name"];
|
||||||
|
long newPos = boost::lexical_cast<long>(info["newPos"]);
|
||||||
|
|
||||||
|
cScrollPane& pane = dynamic_cast<cScrollPane&>(getControl(name));
|
||||||
|
pane.getScroll().setPosition(newPos);
|
||||||
|
}else if(replaying && has_next_action()){
|
||||||
|
throw std::string { "Replaying a dialog, have the wrong replay action: " + next_action_type() };
|
||||||
}else{
|
}else{
|
||||||
while(pollEvent(win, currentEvent)){
|
while(pollEvent(win, currentEvent)){
|
||||||
handle_one_event(currentEvent, fps_limiter);
|
handle_one_event(currentEvent, fps_limiter);
|
||||||
|
Reference in New Issue
Block a user