Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux

Модерирует : gyra, Maz

Widok (23-11-2010 11:23): Лимит страниц. Продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

mozers



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
--[[ ---------------------------------------------------
Тестирование gui.dll
 
Оригинальная версия от Стива Донована (с исходниками и документацией):
  http://mysite.mweb.co.za/residents/sdonovan/scite/gui_ext.zip
 
Подключение:
  Помещаем gui.dll в любой каталог описанный в параметре package.cpath
  (например в SciTE-Ru\tools\LuaLib\)
  Открываем этот скрипт и запускаем по F5
 
У библиотеки gui.dll множество интересных методов (см. докуметацию) позволяющих
создавать панели, списки, тулбары и пр.
]] -----------------------------------------------------
 
require 'gui'
-- БАГ: После этой команды начисто перестает работать ввод русских букв ((
 
------------------------------
-- Создаем боковую панель (справа)
local my_panel = gui.panel(200)
gui.set_panel(my_panel,"right")
 
-- Создаем контекстное меню для панели
-- (имхо уместнее было бы создание контекстного меню для конкретного списка)
-- Контекстное меню показывается всегда, но вот работает ОЧЕНЬ нестабильно. Почему??? Не понятно...
function one()
   
print("Выбран ПЕРВЫЙ пункт контекстного меню")
end
function
two()
   
print("Выбран ВТОРОЙ пункт контекстного меню")
end
my_panel:context_menu {
   
'Первый пункт|one',
   
'Второй пункт|two',
}
 
------------------------------
-- Создаем первый блок панели - список файлов
local list_files = gui.list(false)
local files = gui.files("*")
if files then
    for
_, f in ipairs(files) do
       
list_files:add_item(f)
   
end
end
-- размещаем его на нашей панели
my_panel:add(list_files, "top", 150)
 
-- задаем поведение при двойном клике на элементе списка
list_files:on_double_click(function(idx)
   
print(idx, list_files:get_item_data(idx))
   
-- почему то второй параметр (текст элемента списка) не выводится (nil) ???
end)
 
------------------------------
-- Создаем второй блок панели - список из 2х колонок
local list_names = gui.list(true)
list_names:add_column('ИМЯ',100)
list_names:add_column('ФАМИЛИЯ',100)
list_names:add_item {'Владимир','Сидоров'}
list_names:add_item {'Сергей','Петров'}
list_names:add_item {'Петр','Воронов'}
-- размещаем его на нашей панели
my_panel:add(list_names, "top", 70)
 
-- задаем поведение при выборе элемента списка
-- (фактически работает не как on_select, а как on_click)
list_names:on_select(function(idx)
   
print('Выбрано имя',idx)
end)
 
------------------------------
-- Создаем третий блок панели - просто текстовое поле (для мини-заметок)
local text_pane = gui.memo()
-- размещаем его на нашей панели
my_panel:add(text_pane, "top", 90)
 
------------------------------
 
-- показываем получившуюся панель
my_panel:show()
 
--[[ ---------------------------------------------------
БАГ: Вместо нашей панели появляется пустое поле справа
     но стоит чуть подвинуть мышкой вертикальный разделитель, как все заданные нами блоки появляются.
 
В каталоге examples оригинального дистрибутива имеются и другие примеры
В них и создание вкладок на панелях и плавающие панели, и тулбары и много чего еще...
Эх, сделать бы чтобы это еще и работало путью...
]] -----------------------------------------------------

Всего записей: 2187 | Зарегистр. 03-01-2002 | Отправлено: 20:12 15-08-2008 | Исправлено: mozers, 18:49 17-08-2008
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » SciTE - Open Source Text Editor for Windows & Linux
Widok (23-11-2010 11:23): Лимит страниц. Продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru