Проблемы с imgui.CollapsingHeader

goosik

Участник
Автор темы
54
2
1705253652747.png
Как пофиксить эту хуйню? Чтоб Test 123123 уходил вниз а не оставался на месте. Код ниже
КоDIck:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local WinState = imgui.new.bool()

imgui.OnFrame(function() return WinState[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(500, 500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(280, 400), imgui.Cond.Always)
    imgui.Begin(u8'Smart Car | Autor: Гусэк | Version: 1.0', WinState, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
    if imgui.BeginTabBar('Tabs') then
        if imgui.BeginTabItem(u8'Основное') then
            if imgui.CollapsingHeader(u8'Управление транспортом через скрипт') then
                if imgui.Button(u8'Двигатель', imgui.ImVec2(125, 25)) then
                    sampSendChat('/engine')
                end
                imgui.Tooltip(u8"Завести/Заглушить двигатель.")
                if imgui.Button(u8'Двери', imgui.ImVec2(125, 25)) then
                    sampSendChat('/olock')
                    sampSendChat('/jlock')
                    sampSendChat('/lock')
                end
                imgui.Tooltip(u8"Открытие/Закрытие дверей.")
                if imgui.Button(u8'Смена стиля езды', imgui.ImVec2(125, 25)) then
                    sampSendChat('/style')
                end
                imgui.Tooltip(u8"Изменение стиля езды на Comfort/Sport.")
                if imgui.Button(u8'Гидравлика', imgui.ImVec2(125, 25)) then
                    sampSendChat('/hydraulics')
                end
                imgui.Tooltip(u8"Изменение гидравлики.")
                if imgui.Button(u8'Фары', imgui.ImVec2(125, 25)) then
                    sampSendChat('/lights')
                end
                imgui.Tooltip(u8"Включение/Выключение фар.")
                if imgui.Button(u8'Радио', imgui.ImVec2(125, 25)) then
                    sampSendChat('/radio')
                end
                imgui.Tooltip(u8"Открытие телефона с вкладкой радио (AzSpotify).")
                imgui.SetCursorPos(imgui.ImVec2(150, 87))
                if imgui.Button(u8'Багажник', imgui.ImVec2(125, 25)) then
                    sampSendChat('/trunk')
                end
                imgui.Tooltip(u8"Открыть/Закрыть багажник.")
            end
            if imgui.CollapsingHeader(u8'test 123123') then
                
            end


        
            imgui.EndTabItem()
        end
        if imgui.BeginTabItem(u8'Настройки') then






            imgui.EndTabItem()
        end
        if imgui.BeginTabItem(u8'Информация') then
            if imgui.CollapsingHeader(u8'Update List') then
                if imgui.CollapsingHeader(u8'Version 1.0') then
                imgui.TextWrapped(u8'1. Созданы разделы: основное, настройки и информация')
                imgui.TextWrapped(u8'2. В разделе "Информация" был создан апдейт лист')
                imgui.TextWrapped(u8'3. В разделе "Основное" было создано управление транспортом через скрипт')
                end
            end






            imgui.EndTabItem()
        end
        imgui.EndTabBar()
    end
    imgui.End()
end)

function main()
    sampRegisterChatCommand('sm', function() WinState[0] = not WinState[0] end)
    wait(-1)
end

imgui.OnInitialize(function()
    themeExample()
end)
function themeExample()
    imgui.SwitchContext()
    local ImVec4 = imgui.ImVec4
    imgui.GetStyle().WindowPadding = imgui.ImVec2(5, 5)
    imgui.GetStyle().FramePadding = imgui.ImVec2(5, 5)
    imgui.GetStyle().ItemSpacing = imgui.ImVec2(5, 5)
    imgui.GetStyle().ItemInnerSpacing = imgui.ImVec2(2, 2)
    imgui.GetStyle().TouchExtraPadding = imgui.ImVec2(0, 0)
    imgui.GetStyle().IndentSpacing = 0
    imgui.GetStyle().ScrollbarSize = 10
    imgui.GetStyle().GrabMinSize = 10
    imgui.GetStyle().WindowBorderSize = 1
    imgui.GetStyle().ChildBorderSize = 1
    imgui.GetStyle().PopupBorderSize = 1
    imgui.GetStyle().FrameBorderSize = 1
    imgui.GetStyle().TabBorderSize = 1
    imgui.GetStyle().WindowRounding = 8
    imgui.GetStyle().ChildRounding = 8
    imgui.GetStyle().FrameRounding = 8
    imgui.GetStyle().PopupRounding = 8
    imgui.GetStyle().ScrollbarRounding = 8
    imgui.GetStyle().GrabRounding = 8
    imgui.GetStyle().TabRounding = 8
 
    imgui.GetStyle().Colors[imgui.Col.Text]                   = ImVec4(1.00, 1.00, 1.00, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TextDisabled]           = ImVec4(0.50, 0.50, 0.50, 1.00)
    imgui.GetStyle().Colors[imgui.Col.WindowBg]               = ImVec4(0.06, 0.06, 0.06, 0.94)
    imgui.GetStyle().Colors[imgui.Col.ChildBg]                = ImVec4(1.00, 1.00, 1.00, 0.00)
    imgui.GetStyle().Colors[imgui.Col.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94)
    imgui.GetStyle().Colors[imgui.Col.Border]                 = ImVec4(0.43, 0.43, 0.50, 0.50)
    imgui.GetStyle().Colors[imgui.Col.BorderShadow]           = ImVec4(0.00, 0.00, 0.00, 0.00)
    imgui.GetStyle().Colors[imgui.Col.FrameBg]                = ImVec4(0.48, 0.16, 0.16, 0.54)
    imgui.GetStyle().Colors[imgui.Col.FrameBgHovered]         = ImVec4(0.98, 0.26, 0.26, 0.40)
    imgui.GetStyle().Colors[imgui.Col.FrameBgActive]          = ImVec4(0.98, 0.26, 0.26, 0.67)
    imgui.GetStyle().Colors[imgui.Col.TitleBg]                = ImVec4(0.04, 0.04, 0.04, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TitleBgActive]          = ImVec4(0.48, 0.16, 0.16, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51)
    imgui.GetStyle().Colors[imgui.Col.MenuBarBg]              = ImVec4(0.14, 0.14, 0.14, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.53)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrab]          = ImVec4(0.31, 0.31, 0.31, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrabHovered]   = ImVec4(0.41, 0.41, 0.41, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrabActive]    = ImVec4(0.51, 0.51, 0.51, 1.00)
    imgui.GetStyle().Colors[imgui.Col.CheckMark]              = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.SliderGrab]             = ImVec4(0.88, 0.26, 0.24, 1.00)
    imgui.GetStyle().Colors[imgui.Col.SliderGrabActive]       = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.Button]                 = ImVec4(0.98, 0.26, 0.26, 0.40)
    imgui.GetStyle().Colors[imgui.Col.ButtonHovered]          = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ButtonActive]           = ImVec4(0.98, 0.06, 0.06, 1.00)
    imgui.GetStyle().Colors[imgui.Col.Header]                 = ImVec4(0.98, 0.26, 0.26, 0.31)
    imgui.GetStyle().Colors[imgui.Col.HeaderHovered]          = ImVec4(0.98, 0.26, 0.26, 0.80)
    imgui.GetStyle().Colors[imgui.Col.HeaderActive]           = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.Separator]              = ImVec4(0.43, 0.43, 0.50, 0.50)
    imgui.GetStyle().Colors[imgui.Col.SeparatorHovered]       = ImVec4(0.75, 0.10, 0.10, 0.78)
    imgui.GetStyle().Colors[imgui.Col.SeparatorActive]        = ImVec4(0.75, 0.10, 0.10, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ResizeGrip]             = ImVec4(0.98, 0.26, 0.26, 0.25)
    imgui.GetStyle().Colors[imgui.Col.ResizeGripHovered]      = ImVec4(0.98, 0.26, 0.26, 0.67)
    imgui.GetStyle().Colors[imgui.Col.ResizeGripActive]       = ImVec4(0.98, 0.26, 0.26, 0.95)
    imgui.GetStyle().Colors[imgui.Col.Tab]                    = ImVec4(0.98, 0.26, 0.26, 0.40)
    imgui.GetStyle().Colors[imgui.Col.TabHovered]             = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TabActive]              = ImVec4(0.98, 0.06, 0.06, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TabUnfocused]           = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TabUnfocusedActive]     = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotLines]              = ImVec4(0.61, 0.61, 0.61, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotLinesHovered]       = ImVec4(1.00, 0.43, 0.35, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotHistogram]          = ImVec4(0.90, 0.70, 0.00, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotHistogramHovered]   = ImVec4(1.00, 0.60, 0.00, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TextSelectedBg]         = ImVec4(0.98, 0.26, 0.26, 0.35)
end

function imgui.Tooltip(text)
    if imgui.IsItemHovered() then
       imgui.BeginTooltip()
       imgui.Text(text)
       imgui.EndTooltip()
    end
 end
 

goosik

Участник
Автор темы
54
2
KoDick:
local imgui = require 'mimgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local WinState = imgui.new.bool()

imgui.OnFrame(function() return WinState[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(500, 500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(280, 400), imgui.Cond.Always)
    imgui.Begin(u8'Smart Car | Autor: Гусэк | Version: 1.0', WinState, imgui.WindowFlags.NoResize + imgui.WindowFlags.NoCollapse)
    if imgui.BeginTabBar('Tabs') then
        if imgui.BeginTabItem(u8'Основное') then
            if imgui.CollapsingHeader(u8'Управление транспортом через скрипт') then
                if imgui.Button(u8'Двигатель', imgui.ImVec2(125, 25)) then
                    sampSendChat('/engine')
                end
                imgui.Tooltip(u8"Завести/Заглушить двигатель.")
                if imgui.Button(u8'Двери', imgui.ImVec2(125, 25)) then
                    sampSendChat('/olock')
                    sampSendChat('/jlock')
                    sampSendChat('/lock')
                end
                imgui.Tooltip(u8"Открытие/Закрытие дверей.")
                if imgui.Button(u8'Смена стиля езды', imgui.ImVec2(125, 25)) then
                    sampSendChat('/style')
                end
                imgui.Tooltip(u8"Изменение стиля езды на Comfort/Sport.")
                if imgui.Button(u8'Гидравлика', imgui.ImVec2(125, 25)) then
                    sampSendChat('/hydraulics')
                end
                imgui.Tooltip(u8"Изменение гидравлики.")
                if imgui.Button(u8'Фары', imgui.ImVec2(125, 25)) then
                    sampSendChat('/lights')
                end
                imgui.Tooltip(u8"Включение/Выключение фар.")
                if imgui.Button(u8'Радио', imgui.ImVec2(125, 25)) then
                    sampSendChat('/radio')
                end
                imgui.Tooltip(u8"Открытие телефона с вкладкой радио (AzSpotify).")
                imgui.SetCursorPos(imgui.ImVec2(150, 87))
                if imgui.Button(u8'Багажник', imgui.ImVec2(125, 25)) then
                    sampSendChat('/trunk')
                end
                imgui.Tooltip(u8"Открыть/Закрыть багажник.")
            end
            if imgui.CollapsingHeader(u8'test 123123') then
                imgui.Text('penis')
            end


     
            imgui.EndTabItem()
        end
        if imgui.BeginTabItem(u8'Настройки') then






            imgui.EndTabItem()
        end
        if imgui.BeginTabItem(u8'Информация') then
            if imgui.CollapsingHeader(u8'Update List') then
                if imgui.CollapsingHeader(u8'Version 1.0') then
                imgui.TextWrapped(u8'1. Созданы разделы: основное, настройки и информация')
                imgui.TextWrapped(u8'2. В разделе "Информация" был создан апдейт лист')
                imgui.TextWrapped(u8'3. В разделе "Основное" было создано управление транспортом через скрипт')
                end
            end






            imgui.EndTabItem()
        end
        imgui.EndTabBar()
    end
    imgui.End()
end)

function main()
    sampRegisterChatCommand('sm', function() WinState[0] = not WinState[0] end)
    wait(-1)
end

imgui.OnInitialize(function()
    themeExample()
end)
function themeExample()
    imgui.SwitchContext()
    local ImVec4 = imgui.ImVec4
    imgui.GetStyle().WindowPadding = imgui.ImVec2(5, 5)
    imgui.GetStyle().FramePadding = imgui.ImVec2(5, 5)
    imgui.GetStyle().ItemSpacing = imgui.ImVec2(5, 5)
    imgui.GetStyle().ItemInnerSpacing = imgui.ImVec2(2, 2)
    imgui.GetStyle().TouchExtraPadding = imgui.ImVec2(0, 0)
    imgui.GetStyle().IndentSpacing = 0
    imgui.GetStyle().ScrollbarSize = 10
    imgui.GetStyle().GrabMinSize = 10
    imgui.GetStyle().WindowBorderSize = 1
    imgui.GetStyle().ChildBorderSize = 1
    imgui.GetStyle().PopupBorderSize = 1
    imgui.GetStyle().FrameBorderSize = 1
    imgui.GetStyle().TabBorderSize = 1
    imgui.GetStyle().WindowRounding = 8
    imgui.GetStyle().ChildRounding = 8
    imgui.GetStyle().FrameRounding = 8
    imgui.GetStyle().PopupRounding = 8
    imgui.GetStyle().ScrollbarRounding = 8
    imgui.GetStyle().GrabRounding = 8
    imgui.GetStyle().TabRounding = 8
 
    imgui.GetStyle().Colors[imgui.Col.Text]                   = ImVec4(1.00, 1.00, 1.00, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TextDisabled]           = ImVec4(0.50, 0.50, 0.50, 1.00)
    imgui.GetStyle().Colors[imgui.Col.WindowBg]               = ImVec4(0.06, 0.06, 0.06, 0.94)
    imgui.GetStyle().Colors[imgui.Col.ChildBg]                = ImVec4(1.00, 1.00, 1.00, 0.00)
    imgui.GetStyle().Colors[imgui.Col.PopupBg]                = ImVec4(0.08, 0.08, 0.08, 0.94)
    imgui.GetStyle().Colors[imgui.Col.Border]                 = ImVec4(0.43, 0.43, 0.50, 0.50)
    imgui.GetStyle().Colors[imgui.Col.BorderShadow]           = ImVec4(0.00, 0.00, 0.00, 0.00)
    imgui.GetStyle().Colors[imgui.Col.FrameBg]                = ImVec4(0.48, 0.16, 0.16, 0.54)
    imgui.GetStyle().Colors[imgui.Col.FrameBgHovered]         = ImVec4(0.98, 0.26, 0.26, 0.40)
    imgui.GetStyle().Colors[imgui.Col.FrameBgActive]          = ImVec4(0.98, 0.26, 0.26, 0.67)
    imgui.GetStyle().Colors[imgui.Col.TitleBg]                = ImVec4(0.04, 0.04, 0.04, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TitleBgActive]          = ImVec4(0.48, 0.16, 0.16, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TitleBgCollapsed]       = ImVec4(0.00, 0.00, 0.00, 0.51)
    imgui.GetStyle().Colors[imgui.Col.MenuBarBg]              = ImVec4(0.14, 0.14, 0.14, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarBg]            = ImVec4(0.02, 0.02, 0.02, 0.53)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrab]          = ImVec4(0.31, 0.31, 0.31, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrabHovered]   = ImVec4(0.41, 0.41, 0.41, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ScrollbarGrabActive]    = ImVec4(0.51, 0.51, 0.51, 1.00)
    imgui.GetStyle().Colors[imgui.Col.CheckMark]              = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.SliderGrab]             = ImVec4(0.88, 0.26, 0.24, 1.00)
    imgui.GetStyle().Colors[imgui.Col.SliderGrabActive]       = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.Button]                 = ImVec4(0.98, 0.26, 0.26, 0.40)
    imgui.GetStyle().Colors[imgui.Col.ButtonHovered]          = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ButtonActive]           = ImVec4(0.98, 0.06, 0.06, 1.00)
    imgui.GetStyle().Colors[imgui.Col.Header]                 = ImVec4(0.98, 0.26, 0.26, 0.31)
    imgui.GetStyle().Colors[imgui.Col.HeaderHovered]          = ImVec4(0.98, 0.26, 0.26, 0.80)
    imgui.GetStyle().Colors[imgui.Col.HeaderActive]           = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.Separator]              = ImVec4(0.43, 0.43, 0.50, 0.50)
    imgui.GetStyle().Colors[imgui.Col.SeparatorHovered]       = ImVec4(0.75, 0.10, 0.10, 0.78)
    imgui.GetStyle().Colors[imgui.Col.SeparatorActive]        = ImVec4(0.75, 0.10, 0.10, 1.00)
    imgui.GetStyle().Colors[imgui.Col.ResizeGrip]             = ImVec4(0.98, 0.26, 0.26, 0.25)
    imgui.GetStyle().Colors[imgui.Col.ResizeGripHovered]      = ImVec4(0.98, 0.26, 0.26, 0.67)
    imgui.GetStyle().Colors[imgui.Col.ResizeGripActive]       = ImVec4(0.98, 0.26, 0.26, 0.95)
    imgui.GetStyle().Colors[imgui.Col.Tab]                    = ImVec4(0.98, 0.26, 0.26, 0.40)
    imgui.GetStyle().Colors[imgui.Col.TabHovered]             = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TabActive]              = ImVec4(0.98, 0.06, 0.06, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TabUnfocused]           = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TabUnfocusedActive]     = ImVec4(0.98, 0.26, 0.26, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotLines]              = ImVec4(0.61, 0.61, 0.61, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotLinesHovered]       = ImVec4(1.00, 0.43, 0.35, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotHistogram]          = ImVec4(0.90, 0.70, 0.00, 1.00)
    imgui.GetStyle().Colors[imgui.Col.PlotHistogramHovered]   = ImVec4(1.00, 0.60, 0.00, 1.00)
    imgui.GetStyle().Colors[imgui.Col.TextSelectedBg]         = ImVec4(0.98, 0.26, 0.26, 0.35)
end

function imgui.Tooltip(text)
    if imgui.IsItemHovered() then
       imgui.BeginTooltip()
       imgui.Text(text)
       imgui.EndTooltip()
    end
 end

Надо чтоб при открытии этой херни
if imgui.CollapsingHeader(u8'Управление транспортом через скрипт') then
Эта херня проваливалась вниз
if imgui.CollapsingHeader(u8'test 123123') then


Все еще нужна хелпа
 
Последнее редактирование:

Adrian G.

Известный
Проверенный
521
453
Это происходит из-за SetCursorPos, багажник находится в коде в самом конце, но с помощью SetCursorPos ты перемещаешь этот элемент в начало окна. Из-за этого элементы багаются. Выстрой элементы по порядку, тогда всё заработает.
10.32.26.750.jpg
 

goosik

Участник
Автор темы
54
2
Это происходит из-за SetCursorPos, багажник находится в коде в самом конце, но с помощью SetCursorPos ты перемещаешь этот элемент в начало окна. Из-за этого элементы багаются. Выстрой элементы по порядку, тогда всё заработает.
Посмотреть вложение 228846
спасибо <3