If you use IupCanvas you can draw the axis yourself. In fact you have to
draw everything by yourself in this case.
Using IupPlot, you don't need to. But as I mentioned you are then limited
to the features provided by IupPlot.
About the diagonal, depends. If your line is composed of just two points
far away from each other I think the line will not be picked because the
internal pick in IupPlot is just for samples of the dataset.
A segment pick can be implement by the application inside the callbacks.
This is not complicated and it can be available in future versions.
Contributions are welcome...
Best,
Scuri
On Wed, Jan 21, 2015 at 5:53 PM, Joaquim Luis <[email protected]> wrote:
>
>
> The replacement for IupPPlot is IupPlot. Is much more flexible are
> richer.
>
>
> Sim, I know. But the IupPlot version of that image doesn't show the edited
> point. That's why I picked the IupPPlot one.
>
>
> If instead of using an IupCanvas you use IupPlot, then things get a
> little simpler, but not as flexible.
>
> You should take a look at the IupPlot documentation first to check if it
> fits your needs. In this case it already has a pick implemented when you
> click near a sample of a dataset.
>
>
> I did skim the docs but it will take a while until I manage to get
> something.
>
> But this discussion brings me to another question I had. Like you saw in
> the screenshots of Mirone, most of times I'm dealing with referenced
> material (grids and images) in which case I really need to display a set of
> axes. From my brief understanding of IUP I would have to use IupPlot anyway
> to display the axes no?
>
>
>
> About pick, that really depends on your data structure. But there is no
> interpolation, just tests usually like x1 > x < x2. This is how
> Matlab/IupPlot actually does that.
>
>
> Hmm, but that in my square canvas example with a diagonal line would mean
> that any clicked point, no matter where (except perhaps the borders) would
> trigger that condition!
>
>
>
> Best,
> Scuri
>
>
> On Wed, Jan 21, 2015 at 3:19 PM, <[email protected]> wrote:
>
>> Ai António, you are scaring me.
>>
>>
>> The entity in Matlab is something not related to the drawing itself. So
>>> it is something that your application will have to store somehow, so
>>> later
>>> you will be able to do a pick operation. Matlab simplifies a lot the
>>> process of creating an application. In a regular toolkit your will need a
>>> data structure where your maps and data sets are stored.
>>>
>>
>> I was somehow expecting a thing like this (saw wht you did with the
>> linked lists in cdtest.c)
>>
>> The in IUP the
>>> button_cb callback will be called when the user click with the mouse in
>>> the
>>> IupCanvas, then you will need to translate the screen coordinates in map
>>> coordinates, then search in your database for an entity that is nearest
>>> to
>>> that coordinate, that is called "pick" in computer graphics applications.
>>>
>>
>> That's the horrible part. Do you mean that if for example I draw two
>> diagonal lines in a square canvas and than click exactly on the midle, I'll
>> have to interpolate to all pixels of my screen between the two vertex of
>> each line and see if my cliked point falls in the neighborhood of those
>> interpolated lines (and pick the one at the top?). And now multiply this to
>> all vertex of all possible polylines existing in my drawing?
>> But such kind of things must have been solved many times before?
>>
>> I was expecting that the image in the IupPPlot example (attached) was
>> done with some kind of point-click editing.
>>
>>
>> I don't have Matlab installed here any more but I saw that you did a
>>> lot
>>> of work on your application. To implement that without Matlab it will
>>> take
>>> a lot more work, but it will be very interesting.
>>>
>>
>> Don't tell me. For some years I've been searching for a replacement to
>> Matlab ... and within my reach. I'm stuck to 32 bits and by no means want
>> to embrace the modern Matlab with all that OOP shit. IUP seamed an
>> excellent candidate but this is trully scary.
>>
>> Cumprimentos
>>
>> Joaquim
>>
>> P.S. you can play with Mirone stand-alone version. No need for Matlab.
>>
>>
>>
>>> Best,
>>> Scuri
>>>
>>>
>>>
>>> On Wed, Jan 21, 2015 at 2:11 PM, <[email protected]> wrote:
>>>
>>> Hi again,
>>>>
>>>> OK, I can draw lines with cdCanvasLine() but I doubt assaulted me. The
>>>> lines I see on the screen are raster or vectorial?
>>>>
>>>> I will be needing to associate callbacks to certain actions that
>>>> should only be displayed when a user clicks on a line (or a point, or
>>>> polygon, or ...). In Matlab one do that by associating a line property
>>>> called UIContextMenu that in its turn let us declare callback
>>>> functions for different tasks.
>>>> In or this to work, the lines must be vectorial entities that one can
>>>> select with a mouse click, hence my first question
>>>>
>>>> How can we do that with IUP?
>>>>
>>>> For an an example to what I want to do see for example this screeshot
>>>>
>>>> http://w3.ualg.pt/~jluis/mirone/images/datasets.jpg
>>>>
>>>> Thanks and excuse if the answer is in some part of the manuals that I
>>>> didn't find yet.
>>>>
>>>> ----------------------------------------------------------------
>>>> This message was sent using IMP, the Internet Messaging Program.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
>>>> GigeNET is offering a free month of service with a new server in
>>>> Ashburn.
>>>> Choose from 2 high performing configs, both with 100TB of bandwidth.
>>>> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
>>>> http://p.sf.net/sfu/gigenet
>>>> _______________________________________________
>>>> Iup-users mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/iup-users
>>>>
>>>>
>>>>
>>>
>>
>>
>> ----------------------------------------------------------------
>> This message was sent using IMP, the Internet Messaging Program.
>>
>>
>> ------------------------------------------------------------------------------
>> New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
>> GigeNET is offering a free month of service with a new server in Ashburn.
>> Choose from 2 high performing configs, both with 100TB of bandwidth.
>> Higher redundancy.Lower latency.Increased capacity.Completely compliant.
>> http://p.sf.net/sfu/gigenet
>> _______________________________________________
>> Iup-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/iup-users
>>
>>
>
>
>
>
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Iup-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/iup-users