comparison editor.luan @ 22:b2d9b3836c2b

work
author Franklin Schmidt <fschmidt@gmail.com>
date Tue, 08 Apr 2025 23:03:22 -0600
parents 79f060db4d79
children e4af9e024d63
comparison
equal deleted inserted replaced
21:79f060db4d79 22:b2d9b3836c2b
191 191
192 local function make_find_dialog(window) 192 local function make_find_dialog(window)
193 local dialog = new_dialog(window.frame) 193 local dialog = new_dialog(window.frame)
194 local root = dialog.component 194 local root = dialog.component
195 root.set_layout(new_box_layout(root,"y_axis")) 195 root.set_layout(new_box_layout(root,"y_axis"))
196 do 196 root.add_all{
197 local buttons = new_panel() 197 new_panel{
198 buttons.set_layout(new_flow_layout("left")) 198 layout = new_flow_layout("left")
199 --buttons.border = create_empty_border(8,8,8,8) 199 --border = create_empty_border(8,8,8,8)
200 buttons.border = create_line_border(int_to_color(0)) 200 border = create_line_border(int_to_color(0))
201 201 children = {
202 local find_next = new_button() 202 new_button{
203 find_next.text = "Find Next" 203 text = "Find Next"
204 buttons.add(find_next) 204 }
205 205 new_button{
206 local find_prev = new_button() 206 text = "Find Previous"
207 find_prev.text = "Find Previous" 207 }
208 buttons.add(find_prev) 208 }
209 209 }
210 root.add(buttons) 210 }
211 end
212 dialog.pack() 211 dialog.pack()
213 local was_shown = false 212 local was_shown = false
214 function window.show_find_dialog() 213 function window.show_find_dialog()
215 if not was_shown then 214 if not was_shown then
216 was_shown = true 215 was_shown = true
233 n_windows = n_windows - 1 232 n_windows = n_windows - 1
234 if n_windows == 0 then 233 if n_windows == 0 then
235 Luan.exit() 234 Luan.exit()
236 end 235 end
237 end) 236 end)
238 local text_area = new_text_area() 237 local text_area = new_text_area{}
239 window.text_area = text_area 238 window.text_area = text_area
240 if file ~= nil then 239 if file ~= nil then
241 local document = documents[title] 240 local document = documents[title]
242 if document == nil then 241 if document == nil then
243 documents[title] = text_area.document 242 documents[title] = text_area.document
265 text_area.line_wrap = true 264 text_area.line_wrap = true
266 text_area.tab_size = 4 265 text_area.tab_size = 4
267 text_area.set_font{ family="Monospaced", size=13 } 266 text_area.set_font{ family="Monospaced", size=13 }
268 text_area.set_selection(0) 267 text_area.set_selection(0)
269 --print(text_area.line_count) 268 --print(text_area.line_count)
270 local scroll_pane = new_scroll_pane(text_area) 269 local scroll_pane = new_scroll_pane{
271 local line_numbers = new_text_area_line_numbers(text_area) 270 view = text_area
271 }
272 local line_numbers = new_text_area_line_numbers{
273 text_area = text_area
274 }
272 line_numbers.foreground_color = int_to_color(0x888888) 275 line_numbers.foreground_color = int_to_color(0x888888)
273 line_numbers.border = create_empty_border(0,8,0,8) 276 line_numbers.border = create_empty_border(0,8,0,8)
274 scroll_pane.set_row_header_view(line_numbers) 277 scroll_pane.set_row_header_view(line_numbers)
275 frame.add(scroll_pane) 278 frame.add(scroll_pane)
276 function window.open() 279 function window.open()