Исходник Софт [Module] ImGui Addons | v1.0.0

Dmitriy Makarov

25.05.2021
Проверенный
2,478
1,113
@DonHomka
Нельзя подобное реализовать?
Lua:
if imgui.ToggleButton("Включение/выключение", togglebutton) then
end
Screenshot_2.png

Ну как у чекбоксов, чтобы ToggleButton был с текстом
На 2 строки было бы меньше кода
Lua:
imgui.Text(u8"Включение/выключение")
imgui.SameLine()
 

AnWu

Guardian of Order
Автор темы
Всефорумный модератор
4,687
5,166
@DonHomka
Нельзя подобное реализовать?
Lua:
if imgui.ToggleButton("Включение/выключение", togglebutton) then
end
Посмотреть вложение 50140
Ну как у чекбоксов, чтобы ToggleButton был с текстом
На 2 строки было бы меньше кода
Lua:
imgui.Text(u8"Включение/выключение")
imgui.SameLine()
решение есть, где-то в теме есть
 

Double Tap Inside

Известный
Проверенный
1,898
1,252
Я хочу использовать кнопочки мышки в горячих клавишах, например ПКМ+Q. Я закинул данную комбу в rkeys и оно работает.
Но через этот аддон я не могу создать комбу из ПКМ+Q, оно не реагирует на нажатия мышки =(
Шо делать?
 

Vespan

loneliness
Проверенный
2,102
1,631
Как клавишы из HotKey'я сохранять в inicfg ?
 

Double Tap Inside

Известный
Проверенный
1,898
1,252
Как клавишы из HotKey'я сохранять в inicfg ?

Lua:
--------------- функция для разделения строки и превращения в список целых чисел
function mysplit (inputstr, sep)
        if sep == nil then
                sep = "%s"
        end
        local t={}
        for str in string.gmatch(inputstr, "([^"..sep.."]+)") do
                table.insert(t, tonumber(str))
        end
        return t
end

---------------------------- Стандартные значения
mainIni = {
    config = {
        key = ""
    }
}

ActiveMenu = {
    v = {}
}

------------------------------ Сохранение
local tLastKeys = {}

if imgui.HotKey("##active", ActiveMenu, tLastKeys, 100) then

    mainIni.config.key = table.concat(ActiveMenu.v), ",")
    inicfg.save(mainIni, ПУТЬ) -- типо сохраняю

end



---------------------------- Загрузка

mainIni = inicfg.load(mainIni, ПУТЬ) -- точно не уверен как там загружать.... ну что то типо того, чекайте примеры и справку по inicfg

ActiveMenu.v = mysplit(mainIni.config.key, ",")

Справка по inicfg


------------------------------
Если я где-то ошбися, то шож поделать. Поправьте меня.
---
UPD забыл tonumber() когда со строки делал список клавиш
 
Последнее редактирование:
  • Нравится
Реакции: Vespan

neverlane

t.me/neverlane00
Друг
998
1,143
кому надо, способ сохранение хоткеев в ini, проще чем способ выше)
Lua:
local imgui = require('imgui')
local imadd = require("imgui_addons")
local inicfg = require("inicfg")

local mainIni = inicfg.load({ -- стандартная таблица
    cfg = {
        keys = encodeJson({nil}) -- переводим таблицу в json строку, вместо nil вы можете написать свои клавиши по стандарту через ","
    }
},'test.ini')

inicfg.save(mainIni,'test.ini')

local testHotkey = {
    v = decodeJson(mainIni.cfg.keys) -- тут уже обратно, из json строки переводим в таблицу
}

function imgui.OnDrawFrame()
    --где то в вашем окне
    if imadd.HotKey('##tesst',testHotkey,{},150) then -- вместо {} можете вставить свою таблицу последних клавиш
        mainIni.cfg.keys = encodeJson(testHotkey.v) -- тут опять переводим из таблицы в строку
        inicfg.save(mainIni,'test.ini') -- по желанию можете сразу же сохранить конфиг
    end
end
 

langerdovers

Участник
96
22
баг в ToggleButton встречен в mimgui

при нажатии на него он возвращает true два раза