70
71
, relative_nav_index_(0)
73
OnGeometryChanged.connect([&](nux::Area*, nux::Geometry& geo)
75
// Need to update the preview geometries when updating the container geo.
76
UpdateAnimationProgress(progress_, curve_progress_);
72
78
Style& style = previews::Style::Instance();
74
80
spin_= style.GetSearchSpinIcon(256);
107
// the parents layout will not change based on the previews.
108
preview->SetReconfigureParentLayoutOnGeometryChange(false);
101
110
AddChild(preview.GetPointer());
102
111
AddView(preview.GetPointer());
103
112
preview->SetVisible(false);
172
182
if (progress >= 1.0)
175
if (current_preview_)
177
RemoveChild(current_preview_.GetPointer());
178
RemoveChildObject(current_preview_.GetPointer());
179
current_preview_.Release();
183
if (swipe_.direction == Navigation::RIGHT)
184
relative_nav_index_++;
185
else if (swipe_.direction == Navigation::LEFT)
186
relative_nav_index_--;
188
current_preview_ = swipe_.preview;
189
swipe_.preview.Release();
184
// if we were animating, we need to remove the old preview, and replace it with the new.
190
188
if (current_preview_)
191
current_preview_->OnNavigateInComplete();
195
if (!push_preview_.empty())
198
continue_navigation.emit();
202
end_navigation.emit();
190
RemoveChild(current_preview_.GetPointer());
191
RemoveChildObject(current_preview_.GetPointer());
192
current_preview_.Release();
196
if (swipe_.direction == Navigation::RIGHT)
197
relative_nav_index_++;
198
else if (swipe_.direction == Navigation::LEFT)
199
relative_nav_index_--;
201
current_preview_ = swipe_.preview;
202
swipe_.preview.Release();
203
if (current_preview_)
204
current_preview_->OnNavigateInComplete();
208
if (!push_preview_.empty())
211
continue_navigation.emit();
215
end_navigation.emit();
205
219
// set the geometry to the whole layout.
206
if (current_preview_ && current_preview_->GetGeometry() != geometry)
220
if (current_preview_)
208
222
current_preview_->SetGeometry(geometry);