mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Got rid of content setup macro
This commit is contained in:
@ -289,56 +289,44 @@ impl<'a> Widget for SettingsWindow<'a> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Content Area
|
// Content Area
|
||||||
macro_rules! setup_content_area {
|
|
||||||
($parent:expr, $ui:expr, $widget:expr, $id:expr) => {
|
|
||||||
$widget
|
|
||||||
.top_left_with_margins_on($parent, 0.0, 0.0)
|
|
||||||
.wh_of($parent)
|
|
||||||
.set($id, $ui)
|
|
||||||
};
|
|
||||||
}
|
|
||||||
let global_state = self.global_state;
|
let global_state = self.global_state;
|
||||||
let show = self.show;
|
let show = self.show;
|
||||||
let imgs = self.imgs;
|
let imgs = self.imgs;
|
||||||
let fonts = self.fonts;
|
let fonts = self.fonts;
|
||||||
let localized_strings = self.localized_strings;
|
let localized_strings = self.localized_strings;
|
||||||
for event in match self.show.settings_tab {
|
for event in match self.show.settings_tab {
|
||||||
SettingsTab::Interface => setup_content_area!(
|
SettingsTab::Interface => {
|
||||||
state.ids.settings_content_align,
|
interface::Interface::new(global_state, show, imgs, fonts, localized_strings)
|
||||||
ui,
|
.top_left_with_margins_on(state.ids.settings_content_align, 0.0, 0.0)
|
||||||
interface::Interface::new(global_state, show, imgs, fonts, localized_strings,),
|
.wh_of(state.ids.settings_content_align)
|
||||||
state.ids.interface
|
.set(state.ids.interface, ui)
|
||||||
),
|
},
|
||||||
SettingsTab::Gameplay => setup_content_area!(
|
SettingsTab::Gameplay => {
|
||||||
state.ids.settings_content_align,
|
gameplay::Gameplay::new(global_state, imgs, fonts, localized_strings)
|
||||||
ui,
|
.top_left_with_margins_on(state.ids.settings_content_align, 0.0, 0.0)
|
||||||
gameplay::Gameplay::new(global_state, imgs, fonts, localized_strings,),
|
.wh_of(state.ids.settings_content_align)
|
||||||
state.ids.gameplay
|
.set(state.ids.gameplay, ui)
|
||||||
),
|
},
|
||||||
SettingsTab::Controls => setup_content_area!(
|
SettingsTab::Controls => {
|
||||||
state.ids.settings_content_align,
|
controls::Controls::new(global_state, imgs, fonts, localized_strings)
|
||||||
ui,
|
.top_left_with_margins_on(state.ids.settings_content_align, 0.0, 0.0)
|
||||||
controls::Controls::new(global_state, imgs, fonts, localized_strings,),
|
.wh_of(state.ids.settings_content_align)
|
||||||
state.ids.controls
|
.set(state.ids.controls, ui)
|
||||||
),
|
},
|
||||||
SettingsTab::Video => setup_content_area!(
|
SettingsTab::Video => {
|
||||||
state.ids.settings_content_align,
|
video::Video::new(global_state, imgs, fonts, localized_strings, self.fps)
|
||||||
ui,
|
.top_left_with_margins_on(state.ids.settings_content_align, 0.0, 0.0)
|
||||||
video::Video::new(global_state, imgs, fonts, localized_strings, self.fps,),
|
.wh_of(state.ids.settings_content_align)
|
||||||
state.ids.video
|
.set(state.ids.video, ui)
|
||||||
),
|
},
|
||||||
SettingsTab::Sound => setup_content_area!(
|
SettingsTab::Sound => sound::Sound::new(global_state, imgs, fonts, localized_strings)
|
||||||
state.ids.settings_content_align,
|
.top_left_with_margins_on(state.ids.settings_content_align, 0.0, 0.0)
|
||||||
ui,
|
.wh_of(state.ids.settings_content_align)
|
||||||
sound::Sound::new(global_state, imgs, fonts, localized_strings,),
|
.set(state.ids.sound, ui),
|
||||||
state.ids.sound
|
SettingsTab::Lang => language::Language::new(global_state, imgs, fonts)
|
||||||
),
|
.top_left_with_margins_on(state.ids.settings_content_align, 0.0, 0.0)
|
||||||
SettingsTab::Lang => setup_content_area!(
|
.wh_of(state.ids.settings_content_align)
|
||||||
state.ids.settings_content_align,
|
.set(state.ids.language, ui),
|
||||||
ui,
|
|
||||||
language::Language::new(global_state, imgs, fonts),
|
|
||||||
state.ids.language
|
|
||||||
),
|
|
||||||
} {
|
} {
|
||||||
events.push(event);
|
events.push(event);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user