diff editor.luan @ 2:f38f6e903369

word wrap in menu
author Franklin Schmidt <fschmidt@gmail.com>
date Mon, 31 Mar 2025 17:00:20 -0600
parents 9aa38deb5883
children a79a840691b1
line wrap: on
line diff
--- a/editor.luan	Mon Mar 31 13:49:21 2025 -0600
+++ b/editor.luan	Mon Mar 31 17:00:20 2025 -0600
@@ -11,6 +11,7 @@
 local new_menu_bar = require("luan:swing/Menu_bar.luan").new or error()
 local new_menu = require("luan:swing/Menu.luan").new or error()
 local new_menu_item = require("luan:swing/Menu_item.luan").new or error()
+local new_check_box_menu_item = require("luan:swing/Check_box_menu_item.luan").new or error()
 local Logging = require "luan:logging/Logging.luan"
 local logger = Logging.logger "editor"
 
@@ -44,6 +45,16 @@
 			end)
 			file_menu.add(open)
 		menu_bar.add(file_menu)
+		local view_menu = new_menu()
+		view_menu.text = "View"
+			local word_wrap = new_check_box_menu_item()
+			word_wrap.text = "Word Wrap"
+			word_wrap.state = window.text_area.line_wrap
+			word_wrap.add_action_listener(function()
+				window.text_area.line_wrap = word_wrap.state
+			end)
+			view_menu.add(word_wrap)
+		menu_bar.add(view_menu)
 	return menu_bar
 end
 
@@ -80,6 +91,7 @@
 	local window = {
 		frame = frame
 		file = file
+		text_area = text_area
 	}
 	local menu_bar = make_menu_bar(window)
 	frame.set_menu_bar(menu_bar)