pub trait FollowableItem: Item {
    // Required methods
    fn remote_id(&self) -> Option<ViewId>;
    fn to_state_proto(&self, cx: &AppContext) -> Option<Variant>;
    fn from_state_proto(
        pane: ViewHandle<Pane>,
        project: ViewHandle<Workspace>,
        id: ViewId,
        state: &mut Option<Variant>,
        cx: &mut AppContext
    ) -> Option<Task<Result<ViewHandle<Self>>>>;
    fn add_event_to_update_proto(
        &self,
        event: &Self::Event,
        update: &mut Option<Variant>,
        cx: &AppContext
    ) -> bool;
    fn apply_update_proto(
        &mut self,
        project: &ModelHandle<Project>,
        message: Variant,
        cx: &mut ViewContext<'_, '_, Self>
    ) -> Task<Result<()>>;
    fn is_project_item(&self, cx: &AppContext) -> bool;
    fn set_leader_peer_id(
        &mut self,
        leader_peer_id: Option<PeerId>,
        cx: &mut ViewContext<'_, '_, Self>
    );
    fn should_unfollow_on_event(event: &Self::Event, cx: &AppContext) -> bool;
}

Required Methods§

source

fn remote_id(&self) -> Option<ViewId>

source

fn to_state_proto(&self, cx: &AppContext) -> Option<Variant>

source

fn from_state_proto( pane: ViewHandle<Pane>, project: ViewHandle<Workspace>, id: ViewId, state: &mut Option<Variant>, cx: &mut AppContext ) -> Option<Task<Result<ViewHandle<Self>>>>

source

fn add_event_to_update_proto( &self, event: &Self::Event, update: &mut Option<Variant>, cx: &AppContext ) -> bool

source

fn apply_update_proto( &mut self, project: &ModelHandle<Project>, message: Variant, cx: &mut ViewContext<'_, '_, Self> ) -> Task<Result<()>>

source

fn is_project_item(&self, cx: &AppContext) -> bool

source

fn set_leader_peer_id( &mut self, leader_peer_id: Option<PeerId>, cx: &mut ViewContext<'_, '_, Self> )

source

fn should_unfollow_on_event(event: &Self::Event, cx: &AppContext) -> bool

Implementors§