Well, there is no MDI support in GTK... Even when running in Windows.
That's a GTK limitation.
Best,
Scuri
> -----Original Message-----
> From: Ano Nymous [mailto:ershiba28@...]
> Sent: segunda-feira, 16 de julho de 2012 4:16
> To: IUP discussion list.
> Subject: Re: [Iup-users] is iupgtk.dll (rename to iup.dll) should
> perform the same as iup.dll in windows platform?
>
> hi scuri,
> i code the following to reflect the situation,
>
> it works under iup.dll (windows) but failed in iup.dll (renamed from
> iupgtk.dll) in gtk mode, when you maximize the child dialog, it will
> maximize into whole screen.
>
> idk if i code something wrong or missing setting anything, please
> advice, thanks
>
> #include <stdlib.h>
> #include <stdio.h>
> #include <iup.h>
>
> static int btn1_click( Ihandle* ih );
> static int btn2_click( Ihandle* ih );
> static int btn3_click( Ihandle* ih );
>
> Ihandle *dlg0, *dlg1, *dlg2, *dlg3;
> Ihandle *vbox0, *vbox1, *vbox2, *vbox3;
> Ihandle *hbox0;
> Ihandle *lbl1, *lbl2, *lbl3;
> Ihandle *btn1, *btn2, *btn3;
> Ihandle *cv0;
>
> int main(int argc, char *argv[]) {
> IupOpen(&argc, &argv);
> cv0 = IupCanvas(NULL);
>
> lbl1 = IupLabel("dlg1");
> lbl2 = IupLabel("dlg2");
> lbl3 = IupLabel("dlg3");
>
> btn1 = IupButton("dlg1", NULL);
> btn2 = IupButton("dlg2", NULL);
> btn3 = IupButton("dlg3", NULL);
>
> vbox0 = IupVbox(NULL);
> vbox1 = IupVbox(NULL);
> vbox2 = IupVbox(NULL);
> vbox3 = IupVbox(NULL);
> hbox0 = IupHbox(NULL);
>
> dlg0 = IupDialog(vbox0);
> dlg1 = IupDialog(vbox1);
> dlg2 = IupDialog(vbox2);
> dlg3 = IupDialog(vbox3);
>
> IupSetAttribute(cv0, "MDICLIENT", "YES");
> IupSetAttribute(cv0, "BGCOLOR", "0 0 0");
>
> IupSetAttribute(dlg0, "TITLE", "MDI Window");
> IupSetAttribute(dlg0, "MDIFRAME", "YES");
> IupSetAttribute(dlg0, "SIZE", "200x200");
> IupSetHandle("mdiframe", dlg0);
>
> IupSetAttribute(dlg1, "MDICHILD", "YES");
> IupSetAttribute(dlg1, "PARENTDIALOG", "mdiframe");
> IupSetAttribute(dlg1, "PLACEMENT", "MAXIMIZED");
>
> IupSetAttribute(dlg2, "MDICHILD", "YES");
> IupSetAttribute(dlg2, "PARENTDIALOG", "mdiframe");
> IupSetAttribute(dlg2, "PLACEMENT", "MAXIMIZED");
>
> IupSetAttribute(dlg3, "MDICHILD", "YES");
> IupSetAttribute(dlg3, "PARENTDIALOG", "mdiframe");
> IupSetAttribute(dlg3, "PLACEMENT", "MAXIMIZED");
>
> IupAppend(hbox0, btn1);
> IupAppend(hbox0, btn2);
> IupAppend(hbox0, btn3);
> IupAppend(vbox0, hbox0);
> IupAppend(vbox0, cv0);
> IupAppend(vbox1, lbl1);
> IupAppend(vbox2, lbl2);
> IupAppend(vbox3, lbl3);
>
> IupSetCallback( btn1, "ACTION", btn1_click );
> IupSetCallback( btn2, "ACTION", btn2_click );
> IupSetCallback( btn3, "ACTION", btn3_click );
>
> IupShow(dlg0);
> IupShow(dlg1);
> IupShow(dlg2);
> IupShow(dlg3);
> IupMainLoop();
>
> IupClose();
> return EXIT_SUCCESS;
> }
>
> static int btn1_click( Ihandle* ih ) {
> IupSetAttribute( dlg0, "MDIACTIVATE", IupGetName(dlg1) );
> return IUP_DEFAULT;
> }
>
> static int btn2_click( Ihandle* ih ) {
> IupSetAttribute( dlg0, "MDIACTIVATE", IupGetName(dlg2) );
> return IUP_DEFAULT;
> }
>
> static int btn3_click( Ihandle* ih ) {
> IupSetAttribute( dlg0, "MDIACTIVATE", IupGetName(dlg3) );
> return IUP_DEFAULT;
> }
>
>
> Makefile
> ======
> ALL:MDI.EXE
> MDI.EXE: MDI.O
> gcc MDI.O -mwindows -o MDI.EXE -L E:/CVS/IUP/LIB/DLLW4 -L
> E:/CVS/CD/LIB/DLLW4 -L E:/CVS/IM/LIB/DLLW4 -lkernel32 -lmsvcrt -liup
> MDI.O: MDI.C
> gcc -c -I E:/CVS/IUP/INCLUDE MDI.C
>
> On 7/17/12, Antonio Scuri <scuri@...> wrote:
> > Maybe. GTK in Windows is not effective as the Windows driver. There
> > are some limitation, but in general it works fine.
> >
> > What's the weird case?
> >
> > Best,
> > Scuri
> >
> >> -----Original Message-----
> >> From: Ano Nymous [mailto:ershiba28@...]
> >> Sent: segunda-feira, 16 de julho de 2012 12:56
> >> To: IUP discussion list.
> >> Subject: [Iup-users] is iupgtk.dll (rename to iup.dll) should
> perform
> >> the same as iup.dll in windows platform?
> >>
> >> i got a weird case, idk if this is expected behaviour or etc,
> >>
> >> the same code, works as expected using iup.dll, but weird with
> >> iupgtk.dll
> >>
> >> --------------------------------------------------------------------
> -
> >> --
> >> -------
> >> Live Security Virtual Conference
> >> Exclusive live event will cover all the ways today's security and
> >> threat landscape has changed and how IT managers can respond.
> >> Discussions will include endpoint security, mobile security and the
> >> latest in malware threats.
> >> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> >> _______________________________________________
> >> Iup-users mailing list
> >> Iup-users@...
> >> https://lists.sourceforge.net/lists/listinfo/iup-users
> >
> >
> > ---------------------------------------------------------------------
> -
> > --------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond.
> > Discussions will include endpoint security, mobile security and the
> > latest in malware threats.
> > http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > Iup-users mailing list
> > Iup-users@...
> > https://lists.sourceforge.net/lists/listinfo/iup-users
> >
>
> -----------------------------------------------------------------------
> -------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond.
> Discussions will include endpoint security, mobile security and the
> latest in malware threats.
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Iup-users mailing list
> Iup-users@...
> https://lists.sourceforge.net/lists/listinfo/iup-users
|