Hi,

  I added a new option for SIZECOL and SIZELIN, they can now be -1. If so
all controls will be considered when computing the gridbox size.

  Also I fixed an error in gridbox alignment.

  Just committed to SVN.

  IUP 3.21 should be released next week.

Best,
Scuri


On Sun, Jan 15, 2017 at 2:04 PM, Antonio Scuri <antonio.sc...@gmail.com>
wrote:

>  Ok. Got it.
>
> Best,
> Scuri
>
>
> On Sun, Jan 15, 2017 at 1:11 PM, Andrew Robinson <arobinso...@cox.net>
> wrote:
>
>> int fnSrcFile(void) { return IUP_DEFAULT }
>> int fnDstFile(void) { return IUP_DEFAULT }
>> int fnBtnOk(void) { return IUP_DEFAULT }
>> int fnBtnQuit(void) { return IUP_CLOSE }
>> int main(int argc, char **argv) {
>>  Ihandle *dlg, *hTxt, *guiPtr;
>>  struct stGui {
>>   Ihandle *lbl1;
>>   Ihandle *lbl2;
>>   Ihandle *txt1;
>>   Ihandle *btn1;
>>   Ihandle *lbl3;
>>   Ihandle *lbl4;
>>   Ihandle *txt2;
>>   Ihandle *btn2;
>>   Ihandle *lbl5;
>>   Ihandle *lbl6;
>>   Ihandle *btn3;
>>   Ihandle *btn4;
>>   Ihandle *end1 = 0; }
>>
>>  IupOpen(&argc, &argv);
>>
>>  lbl1 = IupLabel('SOURCE FILE')
>>  lbl2 = IupLabel(':')
>>  lbl3 = IupLabel('DST DIR')
>>  lbl4 = IupLabel(':')
>>  txt1 = IupText(NULL)
>>  IupSetAttribute(txt1,'RASTERSIZE','125')
>>  IupSetAttribute,(txt1,'MULTILINE','NO')
>>  txt2 = IupText(NULL)
>>  IupSetAttribute(txt2,'RASTERSIZE','125')
>>  IupSetAttribute(txt2,'MULTILINE','NO')
>>  btn1 = IupButton('SRC',NULL)
>>  IupSetCallback(btn1,'ACTION',&fnSrcFile)
>>  btn2 = IupButton('DST',NULL)
>>  IupSetCallback(btn2,'ACTION',&fnDstFile)
>>  lbl5 = IupLabel('')
>>  lbl6 = IupLabel('')
>>  btn3 = IupButton('OK',NULL)
>>  IupSetCallback(btn3,'ACTION',&fnBtnOk)
>>  btn4 = IupButton('QUIT',NULL)
>>  IupSetCallback(btn4,'ACTION',&fnBtnQuit)
>>
>>  ptrGui = &stGui;
>>  gbox = IupGridBoxv(guiPtr)
>>  IupSetAttribute(gbox,'ORIENTATION','HORIZONTAL')
>>  IupSetAttribute(gbox,'NUMDIV','4')
>>  IupSetAttribute(gbox,'SIZELIN','0')
>>  IupSetAttribute(gbox,'SIZECOL','2')
>>  IupSetAttribute(gbox,'MARGIN','5x5')
>>  IupSetAttribute(gbox,'GAPCOL','5')
>>  IupSetAttribute(gbox,'GAPLIN','5')
>>  IupSetAttribute(gbox,'ALIGNMENTLIN','ACENTER')
>>  IupSetAttribute(gbox,'ALIGNMENTCOL','ARIGHT')
>>
>>  dlg = IupDialog(gbox)
>>  IupSetAttribute(dlg,'TITLE','Hello World')
>>  IupShowXY(dlg,IUP_CENTER,IUP_CENTER)
>>
>>  IupMainLoop
>>  IupClose
>>
>> Forgive me if there are some typos in translating this.
>>
>> On 1/9/2017 at 10:54 AM, Antonio Scuri <antonio.sc...@gmail.com> wrote:
>>
>>   Hi,
>>
>>   Can you send me the code for that example. I may have an idea.
>>
>> Best,
>> Scuri
>>
>> On Sun, Jan 8, 2017 at 3:16 PM, Andrew Robinson <arobinso...@cox.net>
>> wrote:
>>
>>> Hello,
>>>
>>> This is just feedback of user satisfaction. It is not a complaint, it is
>>> just an opinion and requires no response. I'm hoping someone will
>>> understand what I am saying here and will think of a way to improve the
>>> container functionality to bring it up to a more state-of-the-art level.
>>>
>>> With the following parameters:
>>>
>>>     MARGIN=5x5
>>>     GAPCOL=5
>>>     GAPLIN=5
>>>
>>> I get the following rendering:
>>>
>>> Note how GAPLIN has no effect. That's because IUP needs to be told which
>>> component in the entire grid is the the tallest component in the entire
>>> grid, so with that in mind, I used the following parameters,
>>>
>>>     SIZELIN=1
>>>     SIZECOL=2
>>>     MARGIN=5x5
>>>     GAPCOL=5
>>>     GAPLIN=5
>>>
>>> and I get the following rendering:
>>>
>>> So now GAPLIN is working, but I have a problem with the GAPCOL ignoring
>>> the QUIT button's width because IUP hasn't been told that the QUIT button
>>> is the widest button in that column, but I cannot convey that information
>>> to IUP without screwing up the rest of the layout, since columns zero and
>>> one of line 2 are zero width and zero height:
>>>
>>>
>>> To get this to work, I tried inserting the GridBox inside of a Vbox or
>>> Hbox, but they too have no effect on the QUIT button margin. I could make
>>> this work by overriding the fault main window width by using USERSIZE, but
>>> why have containers if I typically will have to override them like this?
>>>
>>> That was only for a simplified user interface. Just spelling out the
>>> labels and flipping SRC with DST, I get this rendering,
>>>
>>>
>>> which is awful and not very fixable.
>>>
>>> Therefore the problem is this: I cannot choose a container that will let
>>> me align components both vertically and horizontally. It is either one or
>>> the other, but not both. GridBox comes close but it isn't very powerful, as
>>> you can see. There is no point in having any of these containers, if they
>>> can only do very simple "Hello World" interfaces and nothing beyond that,
>>> without having to compile a confusing slew of Vboxes, Hboxes, and GridBoxes
>>> into your user interface. As much as I hate JAVA, their version of the
>>> GridBox was very useful. As it stands, I need to resort to the cumbersome
>>> CX and CY attributes of each component to make anything more complicated
>>> than a "Hellow World" user interface work.
>>>
>>> What is really great about GridBox is that you only need to pass one
>>> parameter to the function to load your entire interface.
>>>
>>> Best Regards,
>>>
>>> Andrew
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Iup-users mailing list
>>> Iup-users@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/iup-users
>>>
>>>
>>
>>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to