WIP
This commit is contained in:
parent
4e544545d1
commit
2330256741
16 changed files with 736 additions and 829 deletions
|
@ -126,20 +126,19 @@ pub struct PopoverMenuState<M> {
|
|||
}
|
||||
|
||||
impl<M: ManagedView> Element for PopoverMenu<M> {
|
||||
type State = PopoverMenuState<M>;
|
||||
type FrameState = PopoverMenuState<M>;
|
||||
|
||||
fn layout(
|
||||
&mut self,
|
||||
element_state: Option<Self::State>,
|
||||
cx: &mut WindowContext,
|
||||
) -> (gpui::LayoutId, Self::State) {
|
||||
fn layout(&mut self, cx: &mut WindowContext) -> (gpui::LayoutId, Self::FrameState) {
|
||||
let mut menu_layout_id = None;
|
||||
|
||||
let (menu, child_bounds) = if let Some(element_state) = element_state {
|
||||
(element_state.menu, element_state.child_bounds)
|
||||
} else {
|
||||
(Rc::default(), None)
|
||||
};
|
||||
// todo!()
|
||||
// let (menu, child_bounds) = if let Some(element_state) = element_state {
|
||||
// (element_state.menu, element_state.child_bounds)
|
||||
// } else {
|
||||
// (Rc::default(), None)
|
||||
// };
|
||||
let menu: Rc<RefCell<Option<View<M>>>> = Rc::default();
|
||||
let child_bounds = None;
|
||||
|
||||
let menu_element = menu.borrow_mut().as_mut().map(|menu| {
|
||||
let mut overlay = overlay().snap_to_window().anchor(self.anchor);
|
||||
|
@ -184,7 +183,7 @@ impl<M: ManagedView> Element for PopoverMenu<M> {
|
|||
fn paint(
|
||||
&mut self,
|
||||
_: Bounds<gpui::Pixels>,
|
||||
element_state: &mut Self::State,
|
||||
element_state: &mut Self::FrameState,
|
||||
cx: &mut WindowContext,
|
||||
) {
|
||||
if let Some(mut child) = element_state.child_element.take() {
|
||||
|
|
|
@ -58,18 +58,17 @@ pub struct MenuHandleState<M> {
|
|||
}
|
||||
|
||||
impl<M: ManagedView> Element for RightClickMenu<M> {
|
||||
type State = MenuHandleState<M>;
|
||||
type FrameState = MenuHandleState<M>;
|
||||
|
||||
fn layout(
|
||||
&mut self,
|
||||
element_state: Option<Self::State>,
|
||||
cx: &mut WindowContext,
|
||||
) -> (gpui::LayoutId, Self::State) {
|
||||
let (menu, position) = if let Some(element_state) = element_state {
|
||||
(element_state.menu, element_state.position)
|
||||
} else {
|
||||
(Rc::default(), Rc::default())
|
||||
};
|
||||
fn layout(&mut self, cx: &mut WindowContext) -> (gpui::LayoutId, Self::FrameState) {
|
||||
// todo!()
|
||||
// let (menu, position) = if let Some(element_state) = element_state {
|
||||
// (element_state.menu, element_state.position)
|
||||
// } else {
|
||||
// (Rc::default(), Rc::default())
|
||||
// };
|
||||
let menu: Rc<RefCell<Option<View<M>>>> = Rc::default();
|
||||
let position: Rc<RefCell<Point<Pixels>>> = Rc::default();
|
||||
|
||||
let mut menu_layout_id = None;
|
||||
|
||||
|
@ -114,7 +113,7 @@ impl<M: ManagedView> Element for RightClickMenu<M> {
|
|||
fn paint(
|
||||
&mut self,
|
||||
bounds: Bounds<gpui::Pixels>,
|
||||
element_state: &mut Self::State,
|
||||
element_state: &mut Self::FrameState,
|
||||
cx: &mut WindowContext,
|
||||
) {
|
||||
if let Some(mut child) = element_state.child_element.take() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue