From: David R. <dr...@jd...> - 2003-10-09 11:49:01
|
It seems that the sizes of basic controls--I've tried buttons and checkboxes aren't getting set properly based on their text. A simple example that shows a problem is if you take the example from the Graphics.UI.WX.Layout documentation, and replace the "quit" with "quit this application now", using wxhaskell 0.3 on macos X I get a button which is too small, so that only "s applicat" is visible. It seems that wxhaskell changes the text after creating a control, but doesn't bother to update the size of the control based on that text. A fix is after creating a control q (or modifying its label) is to call: > bs <- get q bestSize > set q [clientSize := bs] However, I think this really should be done automatically whenever the text is modified. If a user wants to change the text without changing the control's size, the user can do that by hand. Oh yes, and the bug applies to checkboxes as well, which require a whole slew of extra space because they don't set their size according to their text. -- David Roundy http://www.abridgegame.org |
From: Daan L. <daa...@xs...> - 2003-10-09 12:10:05
|
Ha, great that you found out how to solve these bugs! I think I once thinkered with spaces etc. on the check boxes because of this. > A fix is after creating a control q (or modifying its label) > is to call: > > > bs <- get q bestSize > > set q [clientSize := bs] It seems to me that wxWindows should handle this automatically, not that the user of a library should be concerned about it. Anyhow, we can add these calls easily to the WX layer. Another problem that I haven't tackled yet is how to set a good "initial" size of window. That is, if I set the clientSize, the window can't be resized to a smaller size. I would like to give a good size hint, but allow smaller sizes too. Thanks for the help, Daan. ps. I am fairly busy with other stuff at the moment. If you feel like it, maybe you can change the WX layer yourself to include your size fixes (and maybe with a little sample). I can than integrate them into the CVS sources (or give you write access) > -----Original Message----- > From: wxh...@li... > [mailto:wxh...@li...] On > Behalf Of David Roundy > Sent: donderdag 9 oktober 2003 13:49 > To: wxh...@li... > Subject: [wxhaskell-users] control sizes not set properly > > > It seems that the sizes of basic controls--I've tried buttons > and checkboxes aren't getting set properly based on their > text. A simple example that shows a problem is if you take > the example from the Graphics.UI.WX.Layout documentation, and > replace the "quit" with "quit this application now", using > wxhaskell 0.3 on macos X I get a button which is too small, > so that only "s applicat" is visible. > > It seems that wxhaskell changes the text after creating a > control, but doesn't bother to update the size of the control > based on that text. > > A fix is after creating a control q (or modifying its label) > is to call: > > > bs <- get q bestSize > > set q [clientSize := bs] > > However, I think this really should be done automatically > whenever the text is modified. If a user wants to change the > text without changing the control's size, the user can do > that by hand. > > Oh yes, and the bug applies to checkboxes as well, which > require a whole slew of extra space because they don't set > their size according to their text. > -- > David Roundy > http://www.abridgegame.org > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > SourceForge.net hosts over 70,000 Open Source Projects. See > the people who have HELPED US provide better services: Click > here: http://sourceforge.net/supporters.php > _______________________________________________ > wxhaskell-users mailing list wxh...@li... > https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > > |
From: Nick N. <nic...@in...> - 2003-10-09 12:38:50
|
Alle 14:16, gioved=EC 9 ottobre 2003, Daan Leijen ha scritto: > That is, if I set > the clientSize, the window can't be resized to a smaller > size. I would like to give a good size hint, but allow > smaller sizes too. Maybe you can create it with 0 or 1 size, then resize, and then show it?=20 This is a ugly workaround but might work. V. |
From: David R. <dr...@jd...> - 2003-10-10 11:02:14
|
On Thu, Oct 09, 2003 at 02:16:32PM +0200, Daan Leijen wrote: > Ha, great that you found out how to solve these bugs! I think I once > thinkered with spaces etc. on the check boxes because of this. > > > A fix is after creating a control q (or modifying its label) > > is to call: > > > > > bs <- get q bestSize > > > set q [clientSize := bs] > > It seems to me that wxWindows should handle this automatically, not that > the user of a library should be concerned about it. Well, wxwin handles it automatically if the label is set in the control constructor, which is what is almost always done in C++. When changing the label later, you don't necesarily want to resize the control, since that probably will involve redrawing the entire window, which could be visually unappealing... > Anyhow, we can add these calls easily to the WX layer. ... > ps. I am fairly busy with other stuff at the moment. If you feel like > it, maybe you can change the WX layer yourself to include your size fixes > (and maybe with a little sample). I can than integrate them into the CVS > sources (or give you write access) I don't have time (or the wxhaskell source...) at the moment either, but if I get around to it, I'll let you know. -- David Roundy http://www.abridgegame.org |
From: Daan L. <daa...@xs...> - 2003-10-10 12:20:56
|
Hi David, > > It seems to me that wxWindows should handle this automatically, not > > that the user of a library should be concerned about it. > > Well, wxwin handles it automatically if the label is set in > the control constructor, which is what is almost always done > in C++. When changing the label later, you don't necesarily > want to resize the control, since that probably will involve > redrawing the entire window, which could be visually unappealing... Hmm, well, I will study the whole sizing issue in more detail in the future. For now, it is easy to work around it. Thanks for your help, Daan. > > > Anyhow, we can add these calls easily to the WX layer. > > ... > > > ps. I am fairly busy with other stuff at the moment. If > you feel like > > it, maybe you can change the WX layer yourself to include your size > > fixes (and maybe with a little sample). I can than integrate them > > into the CVS sources (or give you write access) > > I don't have time (or the wxhaskell source...) at the moment > either, but if I get around to it, I'll let you know. > -- > David Roundy > http://www.abridgegame.org > > > ------------------------------------------------------- > This SF.net email is sponsored by: SF.net Giveback Program. > SourceForge.net hosts over 70,000 Open Source Projects. See > the people who have HELPED US provide better services: Click > here: http://sourceforge.net/supporters.php > _______________________________________________ > wxhaskell-users mailing list wxh...@li... > https://lists.sourceforge.net/lists/listinfo/wxhaskell-users > > |