From 1ea3c1b8db459a086aeaac7f237f9f066fa350fe Mon Sep 17 00:00:00 2001 From: Stu Black Date: Mon, 15 Dec 2025 13:52:37 -0500 Subject: [PATCH] Reimplement the WMAddListItem macro in Rust. This was originally a macro in C. We reimplement it as a Rust function. --- WINGs/wings-rs/Makefile.am | 1 + WINGs/wings-rs/src/lib.rs | 1 + WINGs/wings-rs/src/list.rs | 14 ++++++++++++++ 3 files changed, 16 insertions(+) create mode 100644 WINGs/wings-rs/src/list.rs diff --git a/WINGs/wings-rs/Makefile.am b/WINGs/wings-rs/Makefile.am index c08e7dea..1b99a146 100644 --- a/WINGs/wings-rs/Makefile.am +++ b/WINGs/wings-rs/Makefile.am @@ -6,6 +6,7 @@ RUST_SOURCES = \ src/configuration.rs \ src/font.rs \ src/lib.rs \ + src/list.rs \ src/pango_extras.rs \ src/screen.rs diff --git a/WINGs/wings-rs/src/lib.rs b/WINGs/wings-rs/src/lib.rs index 284fa4fa..9885e498 100644 --- a/WINGs/wings-rs/src/lib.rs +++ b/WINGs/wings-rs/src/lib.rs @@ -6,5 +6,6 @@ pub mod WINGsP; pub mod button; pub mod configuration; pub mod font; +pub mod list; pub(crate) mod pango_extras; pub mod screen; diff --git a/WINGs/wings-rs/src/list.rs b/WINGs/wings-rs/src/list.rs new file mode 100644 index 00000000..03cdacd1 --- /dev/null +++ b/WINGs/wings-rs/src/list.rs @@ -0,0 +1,14 @@ +pub mod ffi { + use crate::WINGsP::*; + + use std::ffi::c_char; + + /// Appends an item with the label `text` to `list`. + /// + /// ## Rust rewrite notes + /// + /// This was originally a macro. + pub unsafe fn WMAddListItem(list: *mut WMList, text: *const c_char) -> *mut WMListItem { + unsafe { WMInsertListItem(list, -1, text) } + } +}