Auto answering. I made a function (Collapsible) for getting what I wanted

////////////////////////

require("wx")

frame = nil
-- Generate a unique new wxWindowID
local ID_IDCOUNTER = wx.wxID_HIGHEST + 1
function NewID()
    ID_IDCOUNTER = ID_IDCOUNTER + 1
    return ID_IDCOUNTER
end
function main()

    -- create the frame window
    frame = wx.wxFrame( wx.NULL, wx.wxID_ANY, "wxLua Very Minimal Demo",
                        wx.wxDefaultPosition, wx.wxSize(450, 450),
                        wx.wxDEFAULT_FRAME_STYLE )
 panel = wx.wxPanel(frame, wx.wxID_ANY)
 panelSizer = wx.wxBoxSizer( wx.wxVERTICAL )

 ---[[
 for i=1,3 do
  local colsiz = Collapsible(panel,panelSizer,"collap "..i)
  local cc=wx.wxStaticText(panel,  wx.wxID_ANY, "vadsfklj "..i, 
wx.wxDefaultPosition,wx.wxDefaultSize, wx.wxALIGN_CENTRE)
  colsiz:Add(cc,0)
  panelSizer:Hide(colsiz,true)
 end
 --]]
 last = wx.wxStaticText(panel,  wx.wxID_ANY, "last 1", 
wx.wxDefaultPosition,wx.wxDefaultSize, wx.wxALIGN_CENTRE)
 panelSizer:Add(last,1)
 last2 = wx.wxStaticText(panel,  wx.wxID_ANY, "last 2", 
wx.wxDefaultPosition,wx.wxDefaultSize, wx.wxALIGN_CENTRE)
 panelSizer:Add(last2,1)
 
 panel:SetSizer(panelSizer);
 panelSizer:SetSizeHints(panel);
 -- show the frame window
    frame:Show(true)
end
function Collapsible(parent,parentSizer,texto)
  local panelSizer = wx.wxBoxSizer( wx.wxVERTICAL )
  local ids = NewID()
  local button = 
wx.wxToggleButton(parent,ids,texto,wx.wxDefaultPosition,wx.wxSize(40,20))
  button:SetFont(wx.wxSMALL_FONT)
  panelSizer:Add(button, 0, wx.wxALL, 0);
  local collapSizer = wx.wxBoxSizer( wx.wxVERTICAL )
  parent:Connect(ids, wx.wxEVT_COMMAND_TOGGLEBUTTON_CLICKED,
  function(event) 
   if button:GetValue() then
    panelSizer:Show(collapSizer,true)
   else
    panelSizer:Hide(collapSizer,true)
   end
   parent:Layout()
  end)
  panelSizer:Add(collapSizer, 0, wx.wxALL, 0);
  parentSizer:Add(panelSizer,0)
  panelSizer:Hide(collapSizer,true)
  return collapSizer
end
main()

wx.wxGetApp():MainLoop()

///////////////////////////////
but I have another question now:
I need two windows (one will be for AUImanager)
I wrote this. It does not work as I expected and also crashes on closing
/////////////////////////////////////////////
require("wx")

frame = nil
-- Generate a unique new wxWindowID
local ID_IDCOUNTER = wx.wxID_HIGHEST + 1
function NewID()
    ID_IDCOUNTER = ID_IDCOUNTER + 1
    return ID_IDCOUNTER
end
function main()

    -- create the frame window
    frame = wx.wxFrame( wx.NULL, wx.wxID_ANY, "wxLua Very Minimal Demo",
                        wx.wxDefaultPosition, wx.wxSize(450, 450),
                        wx.wxDEFAULT_FRAME_STYLE )
 panel = wx.wxPanel(frame, wx.wxID_ANY)
 paneltop = wx.wxPanel(panel, wx.wxID_ANY)
 panelbottom = wx.wxPanel(panel, wx.wxID_ANY)
 
 paneltopSizer = wx.wxBoxSizer( wx.wxHORIZONTAL )
 panelbottomSizer = wx.wxBoxSizer( wx.wxHORIZONTAL )
 

 for i=1,3 do
  local cc=wx.wxStaticText(paneltop,  wx.wxID_ANY, "top "..i, 
wx.wxDefaultPosition,wx.wxDefaultSize, wx.wxALIGN_CENTRE)
  paneltopSizer:Add(cc,0,wx.wxGROW)
 end
 
 for i=1,3 do
  local cc=wx.wxStaticText(panelbottom,  wx.wxID_ANY, "bottom "..i, 
wx.wxDefaultPosition,wx.wxDefaultSize, wx.wxALIGN_CENTRE)
  panelbottomSizer:Add(cc,0,wx.wxGROW)
 end
 paneltop:SetSizer(paneltopSizer);
 paneltopSizer:SetSizeHints(paneltop);
 
 panelbottom:SetSizer(panelbottomSizer);
 panelbottomSizer:SetSizeHints(panelbottom);
 
 panelSizer = wx.wxBoxSizer( wx.wxVERTICAL )
 panelSizer:Add(paneltopSizer,1,wx.wxGROW)
 panelSizer:Add(panelbottomSizer,1,wx.wxGROW)
 panel:SetSizer(panelSizer);
 panelSizer:SetSizeHints(panel);
 -- show the frame window
    frame:Show(true)
end

main()

wx.wxGetApp():MainLoop()

Best Regards and thanyou for reading

Victor Bombi

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
wxlua-users mailing list
wxlua-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxlua-users

Reply via email to