Hi Antonio, This brings up my e-mail to you about SDL and IUP. Does the same hold true? I'm more interested in the Linux IUP / SDL_gfx direction myself.
John On Mon, 2015-05-25 at 14:02 -0300, Antonio Scuri wrote: > Yes, a dialog can have any set of controls. For instance, when you > run Word or Notepad, if they where implemented using IUP, that main > interface is a IupDialog, it contains lots of buttons an the text > editor area. When you want to configure a Paragraph with more > parameters that are available o the main interface, it appears another > windows, that also would be an IupDialog. Inside the dialog will be > buttons, labels, text boxes and in some cases plots of data. A IupPlot > is a control just like IupButton is. > > > The TransparencyIndex attribute is optional. If that line fails, > then it seems the image parameter may not be an imImage as expected. > Can tell what's going on just by the code you sent. > > > Best, > Scuri > > > > On Sat, May 23, 2015 at 5:41 PM, Joaquim Luis <jl...@ualg.pt> wrote: > > A IupDialog is a system window. The Notepad window > and the Mathlab window are examples. In every > graphical user interface toolkit this is the main > element where others elements are placed. > > > > So, I can think of it as equivalent to the handle of a Matlab > Fig? > Can a IupDialog have more than one IupPlot visible at the same > time? Who would be the containers of those IupPlots? > > > What is the result of your test code now? Does at > least your data set is ploted? > > > > Yes it does (I meant that when I said before that "it > worked"). But I face a lot of new issues. > I found about IupImageFromImImage() but it crashes IUP when I > use it with my manually constructed imImages, which work well > when I use them as background of cvCanvas. > From the crashing error messages in Julia I deduce that the > problem comes from this line (#464) in Ihandle* > IupImageFromImImage(const imImage* image) > > > transp_index = imImageGetAttribute(image, "TransparencyIndex", > NULL, NULL); > > > In fact the "image" I create have no such attribute. And even > when I try to set it with imImageSetAttribute() I get this > strange error > > > imImageSetAttribute(image,"TransparencyIndex",0,21901,C_NULL) > ERROR: DivideError: integer division error > > > Ideally the IupPlot should accept both iIupImages and > imImages > Scuri > > Em 23/05/2015 13:25, "Joaquim Luis" <jl...@ualg.pt> > escreveu: > António, > > > I guess that your code should work. I > basically had the same in my working version > pasted bellow. But that doesn't address my > main questions that i raised in previous > message on what are dialogs, how to put plots > side by side, etc... > I'm afraid that without understanding those > I'll be hitting my head on the wall next time > I try to do something different (well, I'm > actually there already). > > > Thanks > > > Joaquim > > > using IUP > using IUP_IM > using IUP_CD > > function axes() > > IupOpen() #Initializes IUP > > IupPlotOpen(); # init IupPlot library > > # create plot > plot = IupPlot() > hbox = IupHbox(plot); > IupSetAttribute(hbox, "MARGIN", "10x10"); > IupSetAttribute(hbox, "GAP", "10"); > > dlg = IupDialog(hbox); > > IupSetAttributes(dlg, "SIZE=500x240" ); > IupSetAttribute(dlg, "TITLE", "IupPlot > Example"); > > IupSetAttribute(plot, "TITLE", "AutoScale") > IupSetAttribute(plot, "MARGINTOP", "40") > IupSetAttribute(plot, "MARGINLEFT", "40") > IupSetAttribute(plot, "MARGINBOTTOM", "50") > IupSetAttribute(plot, "TITLEFONTSIZE", "16") > IupSetAttribute(plot, "AXS_XLABEL", "gnu > (Foo)") > IupSetAttribute(plot, "AXS_YLABEL", "Space > (m^3)") > IupSetAttribute(plot, "AXS_YFONTSIZE", "7") > IupSetAttribute(plot, "AXS_YTICKFONTSIZE", > "7") > #IupSetAttribute(plot, "LEGENDSHOW", "YES"); > IupSetAttribute(plot, "AXS_XFONTSIZE", "10"); > IupSetAttribute(plot, "AXS_YFONTSIZE", "10"); > IupSetAttribute(plot, "AXS_XLABELCENTERED", > "NO"); > IupSetAttribute(plot, "AXS_YLABELCENTERED", > "NO"); > IupSetAttribute(plot, "AXS_XARROW", "NO"); > IupSetAttribute(plot, "VIEWPORTSQUARE") > > error = pointer([0]) > im = imFileImageLoadBitmap("V://Capture.PNG", > 0, error) > error = unsafe_load(error) > image = IupImageFromImImage(im) > > #image = IupLoadImage("V://Capture.PNG") > IupSetAttributeHandle(plot, "BACKIMAGE", > image) > IupSetAttribute(plot, "BACKIMAGE_XMIN", > "-100"); > IupSetAttribute(plot, "BACKIMAGE_XMAX", > "150"); > IupSetAttribute(plot, "BACKIMAGE_YMIN", "-2"); > IupSetAttribute(plot, "BACKIMAGE_YMAX", "2"); > > IupPlotBegin(plot, 0) > IupPlotAdd(plot, -100., -2.) > IupPlotAdd(plot, 150., 2.) > IupPlotEnd(plot) > IupSetAttribute(plot, "DS_MODE", "MARK") > IupSetAttribute(plot, "DS_MARKSIZE", "1") > > IupShowXY(dlg, IUP_CENTER, IUP_CENTER); > > IupMainLoop() > IupClose() > > return > > end > > > > > > I think it should be this (not sure, > never programmed in Julia): > > > IupOpen(); > > IupPlotOpen(); # init IupPlot library > > # create plots > plot = IupPlot() > > # dialog > hbox = IupHbox(plot, C_NULL); > IupSetAttribute(hbox, "MARGIN", > "4x4"); > IupSetAttribute(hbox, "GAP", "10"); > > dlg = IupDialog(hbox); > IupSetAttributes(dlg, "SIZE=500x240" > ); > IupSetAttribute(dlg, "TITLE", "IupPlot > Example"); > > InitPlots(); # It must be able to be > done independent of dialog Mapping > > IupShowXY(dlg, IUP_CENTER, > IUP_CENTER); > IupSetAttribute(dlg, "SIZE", C_NULL); > > IupMainLoop() > IupClose() > > > > It this showing a dialog with at > least a white canvas in the center > surrounded by 4x4 margins? > > > Best, > Scuri > > > > On Sat, May 23, 2015 at 12:04 PM, > Joaquim Luis <jl...@ualg.pt> wrote: > No, the vboxr was NULL > terminated (see line: > vboxr[2] = C_NULL # mark end > of vector) and I kept the > vector out of pure laziness. > It turned out that this didn't > work > > > plot = IupPlot() > dlg = IupDialog(hbox); > > > > because I had an issue on the > porting of IupPlot that > returned a pointer to int > instead of a pointer to > Ihandle (a void *). When I > fixed this it started to work. > But my basic incomprehension > of what a dialog is still > remains. I know the doc says > > > "... It manages user > interaction with the interface > elements" > > > but sorry, this too vague for > me. Can I think of it as a > similar to the Matlab handle > to a Figure? > Why can't I create a dialog by > calling it on a IupCanvas. > That is, why doesn't this > work? > > > dlg = IupDialog( IupCanvas()) > > > And a IupPlot object, can I > think of it as a ML equivalent > to an axes handle? How can I > put more than one IupPlot plot > side by side? > > > Well, sorry. Lots of questions > but I still don't understand > the "mechanics of the IUP > ensemble" > > > Joaquim > > > Hi, > > I think there is a > misunderstanding about > the vbox terminator. > When you pass a list > of controls for a box > you end that list with > a null, for instance > vbox(but1, but2, > null). > > This is not what you > are doing. First, if > you don't want a tabs, > remove it from your > test. Make it simpler. > You also don't need an > array of plots, you > will use just one. > Eliminate that too. > > Then we start from > there. > > And send me the full > Julia file so I can > also see what you are > doing in InitPlot. > > Best, > Scuri > > Em 22/05/2015 16:55, > "Joaquim Luis" > <jl...@ualg.pt> > escreveu: > Thanks, > > > I managed to > make it work > in a stripped > down version > of the pplot > example. > But now I > don't want to > plot it in a > Tab, I just > want a simple > plot with an > image. I > understand > that the > solution must > be in what is > used to > generate the > IupDialog() > bellow, but > everything > else that I > try just > brings an > empty figure. > This is so > painful by > trial and > error. I guess > that I simply > don't > understand > what a dialog > (the return of > IupDialog(...)) is > and the importance of its input argument. > > > Joaquim > > > IupControlsOpen(); # > init the addicional controls library (we use IupTabs) > IupPlotOpen(); > # init IupPlot > library > > # create plots > plot[1] = > IupPlot() > > # right panel: > tabs with > plots > vboxr[1] = > IupVbox(plot[1]); # > each plot a tab > s = > @sprintf("Plot > %d", 1) > > IupSetAttribute(vboxr[1], "TABTITLE", s); # name each tab > vboxr[2] = > C_NULL # mark > end of vector > > tabs = > > IupTabsv(pointer(vboxr)) # create tabs > > # dialog > hbox = > IupHbox(tabs); > IupSetAttribute(hbox, > "MARGIN", "4x4"); > IupSetAttribute(hbox, > "GAP", "10"); > > dlg = > IupDialog(hbox); > IupSetAttributes(dlg, > "SIZE=500x240" ); > IupSetAttribute(dlg, > "TITLE", "IupPlot Example"); > > InitPlots(); # > It must be > able to be > done > independent of > dialog Mapping > > IupShowXY(dlg, > IUP_CENTER, > IUP_CENTER); > IupSetAttribute(dlg, > "SIZE", C_NULL); > > IupMainLoop() > IupClose() > > > > > > Hi, > > > No, > only > IupImage is > accepted as an image handle in a control. So instead of using > imFileImageLoadBitmap, use IupLoadImage. It will use imFileImageLoadBitmap > internally and it will return an IupImage Ihandle* so you can use it in > IupSetAttributeHandle. > > > Best, > Scuri > > > > On > Wed, > May > 20, > 2015 > at > 11:24 > AM, > Joaquim Luis > <jl...@ualg.pt> wrote: > Hi, > > How > can I plot an image in an axes with coordinates? > I > tried with IupPlot and attribute "BACKIMAGE", as in (in Julia) > > > error > = pointer([0]) > > image > = imFileImageLoadBitmap("V://Capture.PNG", 0, error) > > > IupSetAttributeHandle(plot[1], "BACKIMAGE", convert(Ptr{Void}, image)); > > > but > get crashes from the C side saying > > > Exception: EXCEPTION_ACCESS_VIOLATION at 0x7ffdca48afd2 -- iupTableGet at > > C:\programs\compa_libs\iup\iup.DLL (unknown line) > > iupTableGet at C:\programs\compa_libs\iup\iup.DLL (unknown line) > > cdIupDrawImage at C:\programs\compa_libs\iup\iupcd.dll (unknown line) > ... > > Thanks > > > Joaquim > > > ------------------------------------------------------------------------------ > One > dashboard for servers and applications across Physical-Virtual-Cloud > > Widest out-of-the-box monitoring support with 50+ applications > > Performance metrics, stats and reports that give you Actionable Insights > Deep > dive visibility with transaction tracing using APM Insight. > > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > > _______________________________________________ > > Iup-users mailing list > > Iup-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/iup-users > > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > One dashboard for servers and applications across Physical-Virtual-Cloud > Widest out-of-the-box monitoring support with 50+ applications > Performance metrics, stats and reports that give you Actionable Insights > Deep dive visibility with transaction tracing using APM Insight. > http://ad.doubleclick.net/ddm/clk/290420510;117567292;y > _______________________________________________ > Iup-users mailing list > Iup-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/iup-users ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Iup-users mailing list Iup-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iup-users