Skip to content

Commit 92d69d7

Browse files
committed
book: Store instances in variables more often
1 parent 9eb008a commit 92d69d7

File tree

12 files changed

+67
-55
lines changed

12 files changed

+67
-55
lines changed

book/listings/actions/7/window/imp.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,10 @@ impl ObjectImpl for Window {
4545
self.parent_constructed();
4646

4747
// Setup
48-
self.instance().setup_settings();
49-
self.instance().setup_actions();
50-
self.instance().bind_settings();
48+
let instance = self.instance();
49+
instance.setup_settings();
50+
instance.setup_actions();
51+
instance.bind_settings();
5152
}
5253
}
5354
// ANCHOR_END: object_impl

book/listings/g_object_properties/4/custom_button/imp.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,9 @@ impl ObjectImpl for CustomButton {
5252

5353
// Bind label to number
5454
// `SYNC_CREATE` ensures that the label will be immediately set
55-
self.instance()
56-
.bind_property("number", &*self.instance(), "label")
55+
let instance = self.instance();
56+
instance
57+
.bind_property("number", &*instance, "label")
5758
.flags(BindingFlags::SYNC_CREATE)
5859
.build();
5960
}

book/listings/g_object_signals/2/custom_button/imp.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,9 @@ impl ObjectImpl for CustomButton {
6363

6464
// Bind label to number
6565
// `SYNC_CREATE` ensures that the label will be immediately set
66-
self.instance()
67-
.bind_property("number", &*self.instance(), "label")
66+
let instance = self.instance();
67+
instance
68+
.bind_property("number", &*instance, "label")
6869
.flags(BindingFlags::SYNC_CREATE)
6970
.build();
7071
}
@@ -80,14 +81,14 @@ static MAX_NUMBER: i32 = 8;
8081
impl ButtonImpl for CustomButton {
8182
fn clicked(&self) {
8283
let incremented_number = self.number.get() + 1;
84+
let instance = self.instance();
8385
// If `number` reached `MAX_NUMBER`,
8486
// emit "max-number-reached" signal and set `number` back to 0
8587
if incremented_number == MAX_NUMBER {
86-
self.instance()
87-
.emit_by_name::<()>("max-number-reached", &[&incremented_number]);
88-
self.instance().set_property("number", &0);
88+
instance.emit_by_name::<()>("max-number-reached", &[&incremented_number]);
89+
instance.set_property("number", &0);
8990
} else {
90-
self.instance().set_property("number", &incremented_number);
91+
instance.set_property("number", &incremented_number);
9192
}
9293
}
9394
}

book/listings/saving_window_state/1/custom_window/imp.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ impl ObjectImpl for Window {
2020
fn constructed(&self) {
2121
self.parent_constructed();
2222
// Load latest window state
23-
self.instance().setup_settings();
24-
self.instance().load_window_size();
23+
let instance = self.instance();
24+
instance.setup_settings();
25+
instance.load_window_size();
2526
}
2627
}
2728
impl WidgetImpl for Window {}

book/listings/todo/1/window/imp.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ impl ObjectImpl for Window {
4343
self.parent_constructed();
4444

4545
// Setup
46-
self.instance().setup_tasks();
47-
self.instance().setup_callbacks();
48-
self.instance().setup_factory();
46+
let instance = self.instance();
47+
instance.setup_tasks();
48+
instance.setup_callbacks();
49+
instance.setup_factory();
4950
}
5051
}
5152
// ANCHOR_END: constructed

book/listings/todo/2/window/imp.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,13 @@ impl ObjectImpl for Window {
5252
self.parent_constructed();
5353

5454
// Setup
55-
self.instance().setup_settings();
56-
self.instance().setup_tasks();
57-
self.instance().restore_data();
58-
self.instance().setup_callbacks();
59-
self.instance().setup_factory();
60-
self.instance().setup_actions();
55+
let instance = self.instance();
56+
instance.setup_settings();
57+
instance.setup_tasks();
58+
instance.restore_data();
59+
instance.setup_callbacks();
60+
instance.setup_factory();
61+
instance.setup_actions();
6162
}
6263
}
6364
// ANCHOR_END: object_impl

book/listings/todo/3/window/imp.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,13 @@ impl ObjectImpl for Window {
4949
self.parent_constructed();
5050

5151
// Setup
52-
self.instance().setup_settings();
53-
self.instance().setup_tasks();
54-
self.instance().restore_data();
55-
self.instance().setup_callbacks();
56-
self.instance().setup_factory();
57-
self.instance().setup_actions();
52+
let instance = self.instance();
53+
instance.setup_settings();
54+
instance.setup_tasks();
55+
instance.restore_data();
56+
instance.setup_callbacks();
57+
instance.setup_factory();
58+
instance.setup_actions();
5859
}
5960
}
6061

book/listings/todo/4/window/imp.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,13 @@ impl ObjectImpl for Window {
4949
self.parent_constructed();
5050

5151
// Setup
52-
self.instance().setup_settings();
53-
self.instance().setup_tasks();
54-
self.instance().restore_data();
55-
self.instance().setup_callbacks();
56-
self.instance().setup_factory();
57-
self.instance().setup_actions();
52+
let instance = self.instance();
53+
instance.setup_settings();
54+
instance.setup_tasks();
55+
instance.restore_data();
56+
instance.setup_callbacks();
57+
instance.setup_factory();
58+
instance.setup_actions();
5859
}
5960
}
6061

book/listings/todo/5/window/imp.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,13 @@ impl ObjectImpl for Window {
4949
self.parent_constructed();
5050

5151
// Setup
52-
self.instance().setup_settings();
53-
self.instance().setup_tasks();
54-
self.instance().restore_data();
55-
self.instance().setup_callbacks();
56-
self.instance().setup_factory();
57-
self.instance().setup_actions();
52+
let instance = self.instance();
53+
instance.setup_settings();
54+
instance.setup_tasks();
55+
instance.restore_data();
56+
instance.setup_callbacks();
57+
instance.setup_factory();
58+
instance.setup_actions();
5859
}
5960
}
6061

book/listings/todo/6/window/imp.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,12 @@ impl ObjectImpl for Window {
5252
self.parent_constructed();
5353

5454
// Setup
55-
self.instance().setup_settings();
56-
self.instance().setup_tasks();
57-
self.instance().restore_data();
58-
self.instance().setup_callbacks();
59-
self.instance().setup_actions();
55+
let instance = self.instance();
56+
instance.setup_settings();
57+
instance.setup_tasks();
58+
instance.restore_data();
59+
instance.setup_callbacks();
60+
instance.setup_actions();
6061
}
6162
}
6263

book/listings/todo/7/window/imp.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,12 @@ impl ObjectImpl for Window {
5353
self.parent_constructed();
5454

5555
// Setup
56-
self.instance().setup_settings();
57-
self.instance().setup_tasks();
58-
self.instance().restore_data();
59-
self.instance().setup_callbacks();
60-
self.instance().setup_actions();
56+
let instance = self.instance();
57+
instance.setup_settings();
58+
instance.setup_tasks();
59+
instance.restore_data();
60+
instance.setup_callbacks();
61+
instance.setup_actions();
6162
}
6263
}
6364

book/listings/todo/8/window/imp.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,12 @@ impl ObjectImpl for Window {
6767
self.parent_constructed();
6868

6969
// Setup
70-
self.instance().setup_settings();
71-
self.instance().setup_collections();
72-
self.instance().restore_data();
73-
self.instance().setup_callbacks();
74-
self.instance().setup_actions();
70+
let instance = self.instance();
71+
instance.setup_settings();
72+
instance.setup_collections();
73+
instance.restore_data();
74+
instance.setup_callbacks();
75+
instance.setup_actions();
7576
}
7677
}
7778
// ANCHOR_END: object_impl

0 commit comments

Comments
 (0)