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