Mercurial Hosting > editor
comparison editor.luan @ 11:538cb5ad031c
start line numbers
| author | Franklin Schmidt <fschmidt@gmail.com> |
|---|---|
| date | Thu, 03 Apr 2025 14:34:55 -0600 |
| parents | a83c8842ca3b |
| children | 27f2e1aaf8ff |
comparison
equal
deleted
inserted
replaced
| 10:a83c8842ca3b | 11:538cb5ad031c |
|---|---|
| 9 local Swing = require "luan:swing/Swing.luan" | 9 local Swing = require "luan:swing/Swing.luan" |
| 10 local new_frame = require("luan:swing/Frame.luan").new or error() | 10 local new_frame = require("luan:swing/Frame.luan").new or error() |
| 11 local new_label = require("luan:swing/Label.luan").new or error() | 11 local new_label = require("luan:swing/Label.luan").new or error() |
| 12 local new_text_area = require("luan:swing/Text_area.luan").new or error() | 12 local new_text_area = require("luan:swing/Text_area.luan").new or error() |
| 13 local new_scroll_pane = require("luan:swing/Scroll_pane.luan").new or error() | 13 local new_scroll_pane = require("luan:swing/Scroll_pane.luan").new or error() |
| 14 local new_list = require("luan:swing/List.luan").new or error() | 14 local List = require "luan:swing/List.luan" |
| 15 local new_default_list = List.new_default_list or error() | |
| 16 local new_text_area_line_numbers = List.new_text_area_line_numbers or error() | |
| 15 local new_menu_bar = require("luan:swing/Menu_bar.luan").new or error() | 17 local new_menu_bar = require("luan:swing/Menu_bar.luan").new or error() |
| 16 local new_menu = require("luan:swing/Menu.luan").new or error() | 18 local new_menu = require("luan:swing/Menu.luan").new or error() |
| 17 local new_menu_item = require("luan:swing/Menu_item.luan").new or error() | 19 local new_menu_item = require("luan:swing/Menu_item.luan").new or error() |
| 18 local new_check_box_menu_item = require("luan:swing/Check_box_menu_item.luan").new or error() | 20 local new_check_box_menu_item = require("luan:swing/Check_box_menu_item.luan").new or error() |
| 19 local Logging = require "luan:logging/Logging.luan" | 21 local Logging = require "luan:logging/Logging.luan" |
| 83 end | 85 end |
| 84 local function update_undo_redo() | 86 local function update_undo_redo() |
| 85 undo.set_enabled(document.can_undo()) | 87 undo.set_enabled(document.can_undo()) |
| 86 redo.set_enabled(document.can_redo()) | 88 redo.set_enabled(document.can_redo()) |
| 87 end | 89 end |
| 88 edit_menu.update_undo_redo = update_undo_redo -- prevent gc | 90 edit_menu.dont_gc(update_undo_redo) |
| 89 update_undo_redo() | 91 update_undo_redo() |
| 90 document.add_undo_listener(update_undo_redo) | 92 document.add_undo_listener(update_undo_redo) |
| 91 edit_menu.add_separator() | 93 edit_menu.add_separator() |
| 92 do | 94 do |
| 93 local cut = new_menu_item() | 95 local cut = new_menu_item() |
| 170 s = s.." *" | 172 s = s.." *" |
| 171 end | 173 end |
| 172 frame.title = s | 174 frame.title = s |
| 173 end | 175 end |
| 174 set_title() | 176 set_title() |
| 175 text_area.set_title = set_title -- no gc | 177 text_area.dont_gc(set_title) |
| 176 text_area.document.add_undo_listener(set_title) | 178 text_area.document.add_undo_listener(set_title) |
| 177 text_area.rows = 10 | 179 text_area.rows = 10 |
| 178 text_area.columns = 20 | 180 text_area.columns = 20 |
| 179 text_area.wrap_style_word = true | 181 text_area.wrap_style_word = true |
| 180 text_area.line_wrap = true | 182 text_area.line_wrap = true |
| 181 text_area.tab_size = 4 | 183 text_area.tab_size = 4 |
| 182 text_area.set_font{ family="Monospaced", size=13 } | 184 text_area.set_font{ family="Monospaced", size=13 } |
| 183 text_area.caret_position = 0 | 185 text_area.caret_position = 0 |
| 184 --print(text_area.line_count) | 186 --print(text_area.line_count) |
| 185 local scroll_pane = new_scroll_pane(text_area) | 187 local scroll_pane = new_scroll_pane(text_area) |
| 186 local list = new_list() | 188 local list = new_text_area_line_numbers(text_area) |
| 187 list.add_element("1") | 189 --print(list.size) |
| 188 list.add_element("2") | 190 scroll_pane.set_row_header_view(list) |
| 189 list.add_element("3") | |
| 190 --scroll_pane.set_row_header_view(list) | |
| 191 frame.add(scroll_pane) | 191 frame.add(scroll_pane) |
| 192 function window.open() | 192 function window.open() |
| 193 local file_chooser = frame.file_chooser_load() | 193 local file_chooser = frame.file_chooser_load() |
| 194 if file ~= nil then | 194 if file ~= nil then |
| 195 file_chooser.directory = file.parent() | 195 file_chooser.directory = file.parent() |
