Mercurial Hosting > editor
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() |