Warning, /sdk/rust-qt-binding-generator/tests/rust_list_types/src/implementation.rs is written in an unsupported language. File is not indexed.
0001 #![allow(unused_imports)] 0002 #![allow(unused_variables)] 0003 #![allow(dead_code)] 0004 use interface::*; 0005 0006 #[derive(Default, Clone)] 0007 struct ListItem { 0008 boolean: bool, 0009 optional_boolean: Option<bool>, 0010 i8: i8, 0011 u8: u8, 0012 i16: i16, 0013 u16: u16, 0014 i32: i32, 0015 u32: u32, 0016 i64: i64, 0017 u64: u64, 0018 f32: f32, 0019 f64: f64, 0020 bytearray: Vec<u8>, 0021 optional_bytearray: Option<Vec<u8>>, 0022 string: String, 0023 optional_string: Option<String>, 0024 } 0025 0026 pub struct List { 0027 emit: ListEmitter, 0028 model: ListList, 0029 list: Vec<ListItem>, 0030 } 0031 0032 impl ListTrait for List { 0033 fn new(emit: ListEmitter, model: ListList) -> List { 0034 List { 0035 emit: emit, 0036 model: model, 0037 list: vec![ListItem::default(); 10], 0038 } 0039 } 0040 fn emit(&mut self) -> &mut ListEmitter { 0041 &mut self.emit 0042 } 0043 fn row_count(&self) -> usize { 0044 self.list.len() 0045 } 0046 fn boolean(&self, index: usize) -> bool { 0047 self.list[index].boolean 0048 } 0049 fn set_boolean(&mut self, index: usize, v: bool) -> bool { 0050 self.list[index].boolean = v; 0051 true 0052 } 0053 fn optional_boolean(&self, index: usize) -> Option<bool> { 0054 self.list[index].optional_boolean 0055 } 0056 fn set_optional_boolean(&mut self, index: usize, v: Option<bool>) -> bool { 0057 self.list[index].optional_boolean = v; 0058 true 0059 } 0060 fn i8(&self, index: usize) -> i8 { 0061 self.list[index].i8 0062 } 0063 fn set_i8(&mut self, index: usize, v: i8) -> bool { 0064 self.list[index].i8 = v; 0065 true 0066 } 0067 fn u8(&self, index: usize) -> u8 { 0068 self.list[index].u8 0069 } 0070 fn set_u8(&mut self, index: usize, v: u8) -> bool { 0071 self.list[index].u8 = v; 0072 true 0073 } 0074 fn i16(&self, index: usize) -> i16 { 0075 self.list[index].i16 0076 } 0077 fn set_i16(&mut self, index: usize, v: i16) -> bool { 0078 self.list[index].i16 = v; 0079 true 0080 } 0081 fn u16(&self, index: usize) -> u16 { 0082 self.list[index].u16 0083 } 0084 fn set_u16(&mut self, index: usize, v: u16) -> bool { 0085 self.list[index].u16 = v; 0086 true 0087 } 0088 fn i32(&self, index: usize) -> i32 { 0089 self.list[index].i32 0090 } 0091 fn set_i32(&mut self, index: usize, v: i32) -> bool { 0092 self.list[index].i32 = v; 0093 true 0094 } 0095 fn u32(&self, index: usize) -> u32 { 0096 self.list[index].u32 0097 } 0098 fn set_u32(&mut self, index: usize, v: u32) -> bool { 0099 self.list[index].u32 = v; 0100 true 0101 } 0102 fn i64(&self, index: usize) -> i64 { 0103 self.list[index].i64 0104 } 0105 fn set_i64(&mut self, index: usize, v: i64) -> bool { 0106 self.list[index].i64 = v; 0107 true 0108 } 0109 fn u64(&self, index: usize) -> u64 { 0110 self.list[index].u64 0111 } 0112 fn set_u64(&mut self, index: usize, v: u64) -> bool { 0113 self.list[index].u64 = v; 0114 true 0115 } 0116 fn f32(&self, index: usize) -> f32 { 0117 self.list[index].f32 0118 } 0119 fn set_f32(&mut self, index: usize, v: f32) -> bool { 0120 self.list[index].f32 = v; 0121 true 0122 } 0123 fn f64(&self, index: usize) -> f64 { 0124 self.list[index].f64 0125 } 0126 fn set_f64(&mut self, index: usize, v: f64) -> bool { 0127 self.list[index].f64 = v; 0128 true 0129 } 0130 fn string(&self, index: usize) -> &str { 0131 &self.list[index].string 0132 } 0133 fn set_string(&mut self, index: usize, v: String) -> bool { 0134 self.list[index].string = v; 0135 true 0136 } 0137 fn optional_string(&self, index: usize) -> Option<&str> { 0138 self.list[index].optional_string.as_ref().map(|p|&p[..]) 0139 } 0140 fn set_optional_string(&mut self, index: usize, v: Option<String>) -> bool { 0141 self.list[index].optional_string = v; 0142 true 0143 } 0144 fn bytearray(&self, index: usize) -> &[u8] { 0145 &self.list[index].bytearray 0146 } 0147 fn set_bytearray(&mut self, index: usize, v: &[u8]) -> bool { 0148 self.list[index].bytearray.truncate(0); 0149 self.list[index].bytearray.extend_from_slice(v); 0150 true 0151 } 0152 fn optional_bytearray(&self, index: usize) -> Option<&[u8]> { 0153 self.list[index].optional_bytearray.as_ref().map(|p|&p[..]) 0154 } 0155 fn set_optional_bytearray(&mut self, index: usize, v: Option<&[u8]>) -> bool { 0156 match (v, &mut self.list[index].optional_bytearray) { 0157 (Some(value), &mut Some(ref mut b)) => { 0158 b.truncate(0); 0159 b.extend_from_slice(value); 0160 }, 0161 (Some(value), b) => { 0162 *b = Some(value.into()) 0163 }, 0164 (None, b) => {*b = None;} 0165 }; 0166 true 0167 } 0168 } 0169