rust-qt-binding-generator/tests/rust_tree/src/implementation.rs

56 lines
1.3 KiB
Rust
Raw Normal View History

2017-08-20 08:15:27 -07:00
#![allow(unused_imports)]
#![allow(unused_variables)]
#![allow(dead_code)]
use interface::*;
2017-08-29 11:37:51 -07:00
#[derive(Default, Clone)]
2017-08-20 08:15:27 -07:00
struct PersonsItem {
user_name: String,
}
pub struct Persons {
emit: PersonsEmitter,
model: PersonsTree,
2017-08-20 08:15:27 -07:00
list: Vec<PersonsItem>,
}
impl PersonsTrait for Persons {
fn new(emit: PersonsEmitter, model: PersonsTree) -> Persons {
2017-08-20 08:15:27 -07:00
Persons {
emit: emit,
model: model,
list: vec![PersonsItem::default(); 10],
}
}
fn emit(&mut self) -> &mut PersonsEmitter {
&mut self.emit
2017-08-20 08:15:27 -07:00
}
fn row_count(&self, index: Option<usize>) -> usize {
2017-08-22 04:45:34 -07:00
self.list.len()
2017-08-20 08:15:27 -07:00
}
fn index(&self, index: Option<usize>, row: usize) -> usize {
0
}
fn parent(&self, index: usize) -> Option<usize> {
None
}
fn row(&self, index: usize) -> usize {
index
}
fn check_row(&self, index: usize, _row: usize) -> Option<usize> {
if index < self.list.len() {
Some(index)
} else {
None
}
}
fn user_name(&self, index: usize) -> &str {
&self.list[index].user_name
2017-08-20 08:15:27 -07:00
}
fn set_user_name(&mut self, index: usize, v: String) -> bool {
self.list[index].user_name = v;
2017-08-20 08:15:27 -07:00
true
}
}