make tabs_ui return InnerResponse
Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
@@ -89,12 +89,13 @@ impl<'a, 'd> ProfileView<'a, 'd> {
|
|||||||
break 's action;
|
break 's action;
|
||||||
};
|
};
|
||||||
|
|
||||||
profile_timeline.selected_view = tabs_ui(
|
let tabs_resp = tabs_ui(
|
||||||
ui,
|
ui,
|
||||||
self.note_context.i18n,
|
self.note_context.i18n,
|
||||||
profile_timeline.selected_view,
|
profile_timeline.selected_view,
|
||||||
&profile_timeline.views,
|
&profile_timeline.views,
|
||||||
);
|
);
|
||||||
|
profile_timeline.selected_view = tabs_resp.inner;
|
||||||
|
|
||||||
let reversed = false;
|
let reversed = false;
|
||||||
// poll for new notes and insert them into our existing notes
|
// poll for new notes and insert them into our existing notes
|
||||||
|
|||||||
@@ -118,7 +118,8 @@ fn timeline_ui(
|
|||||||
note_context.i18n,
|
note_context.i18n,
|
||||||
timeline.selected_view,
|
timeline.selected_view,
|
||||||
&timeline.views,
|
&timeline.views,
|
||||||
);
|
)
|
||||||
|
.inner;
|
||||||
|
|
||||||
// need this for some reason??
|
// need this for some reason??
|
||||||
ui.add_space(3.0);
|
ui.add_space(3.0);
|
||||||
@@ -276,7 +277,7 @@ pub fn tabs_ui(
|
|||||||
i18n: &mut Localization,
|
i18n: &mut Localization,
|
||||||
selected: usize,
|
selected: usize,
|
||||||
views: &[TimelineTab],
|
views: &[TimelineTab],
|
||||||
) -> usize {
|
) -> egui::InnerResponse<usize> {
|
||||||
ui.spacing_mut().item_spacing.y = 0.0;
|
ui.spacing_mut().item_spacing.y = 0.0;
|
||||||
|
|
||||||
let tab_res = egui_tabs::Tabs::new(views.len() as i32)
|
let tab_res = egui_tabs::Tabs::new(views.len() as i32)
|
||||||
@@ -324,7 +325,9 @@ pub fn tabs_ui(
|
|||||||
|
|
||||||
let sel = tab_res.selected().unwrap_or_default();
|
let sel = tab_res.selected().unwrap_or_default();
|
||||||
|
|
||||||
let (underline, underline_y) = tab_res.inner()[sel as usize].inner;
|
let res_inner = &tab_res.inner()[sel as usize];
|
||||||
|
|
||||||
|
let (underline, underline_y) = res_inner.inner;
|
||||||
let underline_width = underline.span();
|
let underline_width = underline.span();
|
||||||
|
|
||||||
let tab_anim_id = ui.id().with("tab_anim");
|
let tab_anim_id = ui.id().with("tab_anim");
|
||||||
@@ -351,7 +354,7 @@ pub fn tabs_ui(
|
|||||||
|
|
||||||
ui.painter().hline(underline, underline_y, stroke);
|
ui.painter().hline(underline, underline_y, stroke);
|
||||||
|
|
||||||
sel as usize
|
egui::InnerResponse::new(sel as usize, res_inner.response.clone())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_label_width(ui: &mut egui::Ui, text: &str) -> f32 {
|
fn get_label_width(ui: &mut egui::Ui, text: &str) -> f32 {
|
||||||
|
|||||||
Reference in New Issue
Block a user