more debug info
This commit is contained in:
parent
aa00ddbd62
commit
72e3a75d94
1 changed files with 70 additions and 45 deletions
|
@ -838,6 +838,12 @@ impl slide_model::SlideModel {
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
let mut dest_count = 0;
|
let mut dest_count = 0;
|
||||||
|
|
||||||
|
// service item 1 moves to service item 2
|
||||||
|
// 1 becomes 2 and 2 becomes 1
|
||||||
|
|
||||||
|
// first slide is 1
|
||||||
|
// dest slide is 2
|
||||||
|
|
||||||
for (i, slide) in slides_iter.clone().enumerate() {
|
for (i, slide) in slides_iter.clone().enumerate() {
|
||||||
if slide.service_item_id == source_index {
|
if slide.service_item_id == source_index {
|
||||||
debug!(index = i, ?slide);
|
debug!(index = i, ?slide);
|
||||||
|
@ -858,7 +864,11 @@ impl slide_model::SlideModel {
|
||||||
// dest_slide = i as i32 - count
|
// dest_slide = i as i32 - count
|
||||||
// } else {
|
// } else {
|
||||||
dest_slide = i as i32;
|
dest_slide = i as i32;
|
||||||
dest_count = slide.slide_count;
|
dest_count = if slide.slide_count == 0 {
|
||||||
|
1
|
||||||
|
} else {
|
||||||
|
slide.slide_count
|
||||||
|
};
|
||||||
println!(
|
println!(
|
||||||
"RUST_dest_slide: {:?} with {:?} slides",
|
"RUST_dest_slide: {:?} with {:?} slides",
|
||||||
dest_slide, dest_count
|
dest_slide, dest_count
|
||||||
|
@ -884,7 +894,7 @@ impl slide_model::SlideModel {
|
||||||
println!("RUST_COUNT: {:?}", count);
|
println!("RUST_COUNT: {:?}", count);
|
||||||
println!("RUST_first_slide: {:?}", first_slide);
|
println!("RUST_first_slide: {:?}", first_slide);
|
||||||
println!("RUST_dest_slide: {:?}", dest_slide);
|
println!("RUST_dest_slide: {:?}", dest_slide);
|
||||||
println!("RUST_len: {:?}", self.rust().slides.len());
|
// println!("RUST_len: {:?}", self.rust().slides.len());
|
||||||
|
|
||||||
let slides = self.slides.clone();
|
let slides = self.slides.clone();
|
||||||
let slides_iter = slides.iter();
|
let slides_iter = slides.iter();
|
||||||
|
@ -909,8 +919,57 @@ impl slide_model::SlideModel {
|
||||||
let mut vector_roles = QVector_i32::default();
|
let mut vector_roles = QVector_i32::default();
|
||||||
vector_roles.append(self.get_role(SlideRoles::ServiceItemId));
|
vector_roles.append(self.get_role(SlideRoles::ServiceItemId));
|
||||||
|
|
||||||
|
// Change the shifted slides, not the moved service_item
|
||||||
|
if move_down {
|
||||||
|
debug!("While moving down, change service item id");
|
||||||
|
for (i, slide) in slides_iter
|
||||||
|
.clone()
|
||||||
|
.enumerate()
|
||||||
|
.filter(|x| {
|
||||||
|
x.0 >= (first_slide + dest_count) as usize
|
||||||
|
})
|
||||||
|
.filter(|x| x.1.service_item_id <= destination_index)
|
||||||
|
.filter(|x| x.1.service_item_id >= source_index)
|
||||||
|
{
|
||||||
|
if let Some(slide) =
|
||||||
|
self.as_mut().rust_mut().slides.get_mut(i)
|
||||||
|
{
|
||||||
|
debug!(
|
||||||
|
old_service_id = slide.service_item_id,
|
||||||
|
new_service_id = slide.service_item_id - 1,
|
||||||
|
"rust-switching-service",
|
||||||
|
);
|
||||||
|
slide.service_item_id -= 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
debug!("While moving up, change service item id");
|
||||||
|
for (i, slide) in slides_iter
|
||||||
|
.clone()
|
||||||
|
.enumerate()
|
||||||
|
.filter(|x| {
|
||||||
|
x.0 >= (dest_slide as usize + count as usize)
|
||||||
|
})
|
||||||
|
.filter(|x| x.1.service_item_id >= destination_index)
|
||||||
|
.filter(|x| x.1.service_item_id <= source_index)
|
||||||
|
{
|
||||||
|
if let Some(slide) =
|
||||||
|
self.as_mut().rust_mut().slides.get_mut(i)
|
||||||
|
{
|
||||||
|
debug!(
|
||||||
|
old_service_id = slide.service_item_id,
|
||||||
|
new_service_id = slide.service_item_id + 1,
|
||||||
|
"rust-switching-service",
|
||||||
|
);
|
||||||
|
slide.service_item_id += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Change the service_item_id of the moved slide
|
||||||
if count > 1 {
|
if count > 1 {
|
||||||
if move_down {
|
if move_down {
|
||||||
|
debug!("While moving down, change service items id of moved slide");
|
||||||
for (i, slide) in slides_iter
|
for (i, slide) in slides_iter
|
||||||
.clone()
|
.clone()
|
||||||
.enumerate()
|
.enumerate()
|
||||||
|
@ -933,6 +992,7 @@ impl slide_model::SlideModel {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
debug!("While moving up, change service items id of moved slide");
|
||||||
for (i, slide) in slides_iter
|
for (i, slide) in slides_iter
|
||||||
.clone()
|
.clone()
|
||||||
.enumerate()
|
.enumerate()
|
||||||
|
@ -957,54 +1017,16 @@ impl slide_model::SlideModel {
|
||||||
.slides
|
.slides
|
||||||
.get_mut(dest_slide as usize)
|
.get_mut(dest_slide as usize)
|
||||||
{
|
{
|
||||||
println!(
|
debug!(
|
||||||
"rust: this one right here officer. {:?} from {:?} to {:?}",
|
internal_slide_index = slide.slide_index,
|
||||||
slide.slide_index, slide.service_item_id, destination_index
|
service_item = slide.service_item_id,
|
||||||
|
destination_index,
|
||||||
|
"This is the slide who's service item needs changed"
|
||||||
);
|
);
|
||||||
slide.service_item_id = destination_index;
|
slide.service_item_id = destination_index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if move_down {
|
|
||||||
for (i, slide) in slides_iter
|
|
||||||
.enumerate()
|
|
||||||
.filter(|x| x.0 < (first_slide + dest_count) as usize)
|
|
||||||
.filter(|x| x.1.service_item_id <= destination_index)
|
|
||||||
.filter(|x| x.1.service_item_id >= source_index)
|
|
||||||
{
|
|
||||||
if let Some(slide) =
|
|
||||||
self.as_mut().rust_mut().slides.get_mut(i)
|
|
||||||
{
|
|
||||||
debug!(
|
|
||||||
old_service_id = slide.service_item_id,
|
|
||||||
new_service_id = slide.service_item_id - 1,
|
|
||||||
"rust-switching-service",
|
|
||||||
);
|
|
||||||
slide.service_item_id -= 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
for (i, slide) in slides_iter
|
|
||||||
.enumerate()
|
|
||||||
.filter(|x| {
|
|
||||||
x.0 >= (dest_slide as usize + count as usize)
|
|
||||||
})
|
|
||||||
.filter(|x| x.1.service_item_id >= destination_index)
|
|
||||||
.filter(|x| x.1.service_item_id <= source_index)
|
|
||||||
{
|
|
||||||
if let Some(slide) =
|
|
||||||
self.as_mut().rust_mut().slides.get_mut(i)
|
|
||||||
{
|
|
||||||
debug!(
|
|
||||||
old_service_id = slide.service_item_id,
|
|
||||||
new_service_id = slide.service_item_id + 1,
|
|
||||||
"rust-switching-service",
|
|
||||||
);
|
|
||||||
slide.service_item_id += 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// unsafe {
|
// unsafe {
|
||||||
// self.as_mut().end_reset_model();
|
// self.as_mut().end_reset_model();
|
||||||
// }
|
// }
|
||||||
|
@ -1019,6 +1041,9 @@ impl slide_model::SlideModel {
|
||||||
count: usize,
|
count: usize,
|
||||||
) {
|
) {
|
||||||
debug!(source_index, dest_index, count);
|
debug!(source_index, dest_index, count);
|
||||||
|
if source_index == dest_index {
|
||||||
|
return;
|
||||||
|
};
|
||||||
let end_slide = source_index + count - 1;
|
let end_slide = source_index + count - 1;
|
||||||
println!("rust-end-slide: {:?}", end_slide);
|
println!("rust-end-slide: {:?}", end_slide);
|
||||||
println!("rust-dest-slide: {:?}", dest_index);
|
println!("rust-dest-slide: {:?}", dest_index);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue