Warning, /sdk/rust-qt-binding-generator/tests/rust_objects/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 pub struct Group {
0007 emit: GroupEmitter,
0008 person: Person,
0009 }
0010
0011 impl GroupTrait for Group {
0012 fn new(emit: GroupEmitter, person: Person) -> Group {
0013 Group {
0014 emit: emit,
0015 person: person,
0016 }
0017 }
0018 fn emit(&mut self) -> &mut GroupEmitter {
0019 &mut self.emit
0020 }
0021 fn person(&self) -> &Person {
0022 &self.person
0023 }
0024 fn person_mut(&mut self) -> &mut Person {
0025 &mut self.person
0026 }
0027 }
0028
0029 pub struct InnerObject {
0030 emit: InnerObjectEmitter,
0031 description: String,
0032 }
0033
0034 impl InnerObjectTrait for InnerObject {
0035 fn new(emit: InnerObjectEmitter) -> InnerObject {
0036 InnerObject {
0037 emit: emit,
0038 description: String::new(),
0039 }
0040 }
0041 fn emit(&mut self) -> &mut InnerObjectEmitter {
0042 &mut self.emit
0043 }
0044 fn description(&self) -> &str {
0045 &self.description
0046 }
0047 fn set_description(&mut self, value: String) {
0048 self.description = value;
0049 self.emit.description_changed();
0050 }
0051 }
0052
0053 pub struct Person {
0054 emit: PersonEmitter,
0055 object: InnerObject,
0056 }
0057
0058 impl PersonTrait for Person {
0059 fn new(emit: PersonEmitter, object: InnerObject) -> Person {
0060 Person {
0061 emit: emit,
0062 object: object,
0063 }
0064 }
0065 fn emit(&mut self) -> &mut PersonEmitter {
0066 &mut self.emit
0067 }
0068 fn object(&self) -> &InnerObject {
0069 &self.object
0070 }
0071 fn object_mut(&mut self) -> &mut InnerObject {
0072 &mut self.object
0073 }
0074 }
0075