Hi,
FITTOSIZE will set RASTERWIDTH1,. for all columns. So when you set it
again, you must first reset them to NULL or nil in Lua
mat.RASTERWIDTH1 = nil
mat.RASTERWIDTH2 = nil
mat.RASTERWIDTH3 = nil
mat.RASTERWIDTH4 = nil
mat.RASTERWIDTH5 = nil
mat.RASTERWIDTH6 = nil
mat.RASTERWIDTH7 = nil
Best,
Scuri
From: Lance Larsen [mailto:gaffer...@gmail.com]
Sent: sexta-feira, 5 de abril de 2013 15:02
To: IUP discussion list.
Subject: Re: [Iup-users] Auto-resizing the Matrix component
Scuri,
I implemented the resize callback on the dialog instead. This did fix the
problem with the matrix view not being drawn, but the matrix columns are not
being resized when I expand the dialog bounds. I turned on the matrix view
border, so I can see that the matrix view is resizing, just not the table
itself. Am I setting FITTOSIZE correctly, or is there something else I am
missing?
function OpenTimeStepDialog()
local mat = iup.matrix {border="Yes", resizematrix = "Yes",
scrollbar="Yes",
REDRAW="ALL", numcol=7, numlin=3,numcol_visible=7, numlin_visible=3,
widthdef=34}
mat:setcell(0,1,"End\nTime")
...
tsd = iup.dialog{ iup.hbox{mat; margin="5x5";expand="Yes"}, title="Time
Step Data", }
function tsd:resize_cb(w, h)
iup.Refresh(tsd)
mat.FITTOSIZE = "Columns"
return iup.DEFAULT
end
end
~Lance
On Fri, Apr 5, 2013 at 11:25 AM, Antonio Scuri <antonio.sc...@gmail.com>
wrote:
Hi Lance,
The resize_cb callback in Lua can not be replaced, you must do it in C.
But I suggest you to use the resize_cb of the dialog instead, but you will
have to call the iup.Refresh(dlg) function before setting FITTOSIZE.
When setting FITTOSIZE all columns that don't have RASTERWIDTH set to a
given value will be resized, in other words all columns that RASTERWIDTH is
set to NULL will be resized.
Best Regards,
Antonio Scuri
From: Lance Larsen [mailto:gaffer...@gmail.com]
Sent: sexta-feira, 5 de abril de 2013 13:08
To: iup-users@lists.sourceforge.net
Subject: [Iup-users] Auto-resizing the Matrix component
I am evaluating iup for a project where I am combining the SciTE text editor
for popup dialogs that help with adding or editing content. I need to use
Lua to access iup. One thing I wanted to do was set up a dialog that
included a spreadsheet view that expands with the dialog. I saw that there
is a FITTOSIZE option that should allow you to do this, but I am having
trouble figuring out how to set it up correctly.
I did see an incomplete c example in the archive where a RESIZE_CB was
defined and RASTERWIDTH2 was set (does this control which columns are
expanded) and FITTOSIZE was set to "COLUMNS". When I created a Lua resize_cb
callback, it stopped drawing the matrix view. I saw another archived item
indicating that the original callback needed to be called inside the
resize_cb that I create, but I am not sure how to do this in Lua. I tried to
get a reference to the original resize_cb, but the value is 'nil'. Below is
one of my attempts to get this right followed by some specific questions.
Any help is appreciated.
mat = iup.matrix {border="Yes", resizematrix = "Yes", scrollbar="Yes",
redraw="All", \
numcol=7, numlin=3, numcol_visible=7, numlin_visible=3, widthdef=34}
mat:setcell(0,1,"End\nTime")
mat:setcell(0,2,"Minimum\nStep")
mat:setcell(0,3,"Maximum\nStep")
mat:setcell(0,4,"Control\nOption")
mat:setcell(0,5,"Plot\nFreq.")
mat:setcell(0,6,"Edit\nFreq.")
mat:setcell(0,7,"Restart\nFreq.")
old_resize = mat.resize_cb
function mat:resize_cb(w, h)
mat.RASTERWIDTH2 = nil
mat.FITTOSIZE = "Columns"
-- The following line fails since old_resize is nil
--mat:old_resize(w,h)
return iup.DEFAULT
end
dlg = iup.dialog{ iup.hbox{mat; margin="5x5";expand="Yes"}, title="Time
Step Data", }
dlg:show()
How do I set FITTOSIZE, and is resize_cb the right place to do this?
How do I indicate which columns expand (RASTERWIDTH? - if so what do I set
this to?)
How do I call the original resize_cb function for the matrix view (if there
is one)? If there isn't why does the view not redraw correctly?
-Lance Larsen
----------------------------------------------------------------------------
--
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users