From 555a45a9f2b68a48b098099804ce795e3d5a350b Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Fri, 2 Aug 2024 14:05:30 +0200 Subject: sheetview add background theme parameter --- src/sheet/foreach.rs | 37 ------------------------------------- src/sheet/luaref.rs | 6 +++--- src/sheet/map.rs | 37 +++++++++++++++++++++++++++++++++++++ src/sheet/mod.rs | 2 +- 4 files changed, 41 insertions(+), 41 deletions(-) delete mode 100644 src/sheet/foreach.rs create mode 100644 src/sheet/map.rs (limited to 'src/sheet') diff --git a/src/sheet/foreach.rs b/src/sheet/foreach.rs deleted file mode 100644 index a2a3f90..0000000 --- a/src/sheet/foreach.rs +++ /dev/null @@ -1,37 +0,0 @@ -use std::sync::{Arc, RwLock}; - -use mlua::prelude::*; - -use super::{cell::Cell, Sheet}; - -pub trait LuaForEach { - fn lua_foreach<'lua>( - &self, - func: LuaFunction<'lua>, - range: Vec<(usize, usize)>, - ) -> Result<(), LuaError>; -} - -impl LuaForEach for Arc> { - fn lua_foreach<'lua>( - &self, - func: LuaFunction<'lua>, - range: Vec<(usize, usize)>, - ) -> Result<(), LuaError> { - let mut this = self.write().unwrap(); - let mut sheet = this.clone(); - - for (row, column) in range.iter() { - let cellref = this.get_ref(*row, *column); - - match func.call::<_, Cell>(cellref) { - Ok(cell) => sheet.set_cell(*row, *column, cell), - Err(error) => return Err(error), - } - } - - this.apply(sheet); - - Ok(()) - } -} diff --git a/src/sheet/luaref.rs b/src/sheet/luaref.rs index fa4b8f9..5fb6bed 100644 --- a/src/sheet/luaref.rs +++ b/src/sheet/luaref.rs @@ -1,7 +1,7 @@ use crate::state::GlobalState; use super::{ - foreach::LuaForEach, + map::LuaMap, register::{Register, SheetId}, }; use mlua::prelude::*; @@ -41,7 +41,7 @@ impl LuaUserData for SheetLuaRef { } }); - methods.add_method_mut("foreach", |_, luaref, func: LuaFunction| { + methods.add_method_mut("map", |_, luaref, func: LuaFunction| { let range: Vec<_> = { let state = GlobalState::instance(); let lock = state.sheetview.active_sheet().unwrap(); @@ -66,7 +66,7 @@ impl LuaUserData for SheetLuaRef { } }; - Register::get(luaref.id).unwrap().lua_foreach(func, range) + Register::get(luaref.id).unwrap().lua_map(func, range) }) } } diff --git a/src/sheet/map.rs b/src/sheet/map.rs new file mode 100644 index 0000000..09209a3 --- /dev/null +++ b/src/sheet/map.rs @@ -0,0 +1,37 @@ +use std::sync::{Arc, RwLock}; + +use mlua::prelude::*; + +use super::{cell::Cell, Sheet}; + +pub trait LuaMap { + fn lua_map<'lua>( + &self, + func: LuaFunction<'lua>, + range: Vec<(usize, usize)>, + ) -> Result<(), LuaError>; +} + +impl LuaMap for Arc> { + fn lua_map<'lua>( + &self, + func: LuaFunction<'lua>, + range: Vec<(usize, usize)>, + ) -> Result<(), LuaError> { + let mut this = self.write().unwrap(); + let mut sheet = this.clone(); + + for (row, column) in range.iter() { + let cellref = this.get_ref(*row, *column); + + match func.call::<_, Cell>(cellref) { + Ok(cell) => sheet.set_cell(*row, *column, cell), + Err(error) => return Err(error), + } + } + + this.apply(sheet); + + Ok(()) + } +} diff --git a/src/sheet/mod.rs b/src/sheet/mod.rs index 5f28e07..ffaec94 100644 --- a/src/sheet/mod.rs +++ b/src/sheet/mod.rs @@ -1,7 +1,7 @@ use cell::{Cell, CellRef}; pub mod cell; -pub mod foreach; +pub mod map; pub mod register; pub mod luaref; -- cgit v1.2.3-70-g09d2