use logisheets_base::{
block_affect::BlockAffectTrait,
id_fetcher::{IdFetcherTrait, SheetIdFetcherByIdxTrait},
index_fetcher::IndexFetcherTrait,
BlockCellId, SheetId, StyleId,
};
use crate::style_manager::RawStyle;
use crate::{edit_action::StyleUpdateType, Error};
pub trait ContainerExecCtx:
IdFetcherTrait + IndexFetcherTrait + BlockAffectTrait + SheetIdFetcherByIdxTrait
{
fn get_new_style_id(
&mut self,
old_id: StyleId,
update_type: StyleUpdateType,
) -> Result<StyleId, Error>;
fn insert_style(&mut self, style: RawStyle) -> Result<StyleId, Error>;
fn is_block_cell_templated(&self, sheet_id: SheetId, cell: &BlockCellId) -> bool;
}