Got rid of content setup macro

This commit is contained in:
hqurve
2021-04-11 17:32:21 -04:00
parent 690419ad90
commit fd80a97f3d

View File

@ -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);
} }