forums.silverfrost.com
Welcome to the Silverfrost forums

Author Message
DanRRight

Joined: 10 Mar 2008
Posts: 2774
Location: South Pole, Antarctica

Posted: Wed Sep 27, 2023 2:45 pm    Post subject: Couple minor Clearwin problems

1) When native %PL plots XY graph it automatically finds X and Y minimum and maximum so you do not have to worry about this. Of course you can set these limits in Designer's mode opening it. The problem is that if you set them you will not be able to play back when program finds them automatically. Here is an example.
 Code: program aaa use clrwin integer, external :: cb real*8 x(2), y(2) common x, y x =(/0,10/) y =(/0,10/) call winop@('%pl[file=designer1.set]') i=winio@('%fn[Tahoma]%ts%bf%ff&',1.2d0) i=winio@('%pl[x_array, n_graphs=1,x_axis="Days",y_axis="Nights"]%ff&',400,300,2, x,y) i=winio@('%sf%cn%`bc%^bt[Update]%es%lw', rgb@(255,199,255), cb, ilw) END integer function cb() use clrwin real*8 x(2), y(2) common x, y call RANDOM_NUMBER (x(2)) call RANDOM_NUMBER (y(2)) x(2) = x(2) * 10 + 0.1 y(2) = y(2) * 10 + 0.1 print*,' x_max=', x(2), y(2) call simpleplot_redraw@ cb=2 end function

Click Update few times and see how automatic limits perfectly work. Plotted is simple linear function Y=X with just two points in it and randomly changed maximum value of X or Y and plotted the result

Then click on icon on top left corner which starts Designer's mode and manually set any Maximum Values for X or Y and push Plot and Save.

Click Update button few times again with these numbers and see all works differently but perfectly again.

Now try to return back to automatic mode. I do not see how to do that.

2) If you are coloring some button %bt with some color using %`bc everything works in almost all windows OK besides the windows where %lw is used. Then color is distorted and is unpredictable. Unexplained, with the main program though (when %lw is in main code) %`bc works surprisingly OK (see previous demo example)

 Code: module mod contains integer function cb () i=winio@('%`bc%^bt[Push me2]%lw', rgb@(255,199,255), cb2,ilw) cb=2 end function Integer function cb2 () cb2=2 end function end module !--------------- program aaa use mod i=winio@('%`bc%^bt[Push Me]%es', rgb@(255,199,192), cb) END

Last edited by DanRRight on Thu Sep 28, 2023 7:15 am; edited 4 times in total
PaulLaidler

Joined: 21 Feb 2005
Posts: 7766
Location: Salford, UK

 Posted: Wed Sep 27, 2023 4:25 pm    Post subject: I have added these issues to the log of things to investigate.
DanRRight

Joined: 10 Mar 2008
Posts: 2774
Location: South Pole, Antarctica

Posted: Tue Oct 17, 2023 7:20 am    Post subject:

I do not know how best way to make limits of x and y automatic but probably adding 4 radiobuttons "Auto" could be one of possible ways. Adding more variables of course may break the compatibility of the settings file. Since this is early moment in the development of %PL so that even Ken is not using it and i may be the only user so far then would be probably right to make one important introduction here. In such cases in all my software and 100s of different settings files for everything in all my codes the first line in the settings files i put the 10 digit file version number like 202310171. Then this allows me to add whatever i want and maintain the compatibility. Each new addition in settings file starts with the new line and when reading it the fortran source will be checking this line version and read it accordingly. May be there exist better way, and i would like to learn here, but here is my real example. Each new version will need more settings variables and will read more and more from the settings file. All previous versions will just stop earlier and go to label 4444

PaulLaidler

Joined: 21 Feb 2005
Posts: 7766
Location: Salford, UK

 Posted: Tue Oct 17, 2023 10:48 am    Post subject: Dan I have not yet looked at these issues but I have now noted your additional comments.
Kenneth_Smith

Joined: 18 May 2012
Posts: 682
Location: Hamilton, Lanarkshire, Scotland.

Posted: Tue Oct 17, 2023 11:08 am    Post subject:

 Quote: so that even Ken is not using it

No %pl is Ken's no 1 graphing tool! By far the best method I have access to.
DanRRight

Joined: 10 Mar 2008
Posts: 2774
Location: South Pole, Antarctica

Posted: Tue Oct 17, 2023 1:45 pm    Post subject:

Ken, Do you use Designer's mode settings by adding
 Code: call winop@('%pl[file=Settings.set]')
??
That what i was talking about: the structure of Settings.set file
Kenneth_Smith

Joined: 18 May 2012
Posts: 682
Location: Hamilton, Lanarkshire, Scotland.

 Posted: Tue Oct 17, 2023 2:57 pm    Post subject: Dan, I misunderstood what you were saying. No I don't use design mode as much as perhaps I should. Changes to the appearance of the graphic are made via call to change_plot_dbl etc. PS I added a %pv to the contour routine the other day. That was fun! The %pl callback is now a bit longer!
PaulLaidler

Joined: 21 Feb 2005
Posts: 7766
Location: Salford, UK

 Posted: Sat Nov 11, 2023 2:55 pm    Post subject: Dan I have had a brief look at this but you will need to make your request a lot shorter and simpler for me to make any progress.
DanRRight

Joined: 10 Mar 2008
Posts: 2774
Location: South Pole, Antarctica

 Posted: Sun Nov 12, 2023 7:48 am    Post subject: Paul, Two demos demonstrate these issues: 1) first one shows that if you change x or y limits in Designers Settings you have no way back to automatic plotting where code itself takes care about minimum and maximum. That means user has to shutdown and restart the code to plot something else or permanently open same settings and fix the limits for each new plot. This is annoying and sometimes even unacceptable to close the code which is always running. Adding option "Auto" for x and y limits, or set limits to some rarely used huge number which will reset limits to Auto, say negative -3.e33 or more can solve this problem 2)second could be my compiler version problem, I expected users could comment too : the button color hiccups if GUI is just one level more complex than the standard Salford Clearwin examples. With simple code where all buttons are on main page and there are no child or next level windows all works okLast edited by DanRRight on Sun Nov 12, 2023 9:42 am; edited 1 time in total
PaulLaidler

Joined: 21 Feb 2005
Posts: 7766
Location: Salford, UK

 Posted: Sun Nov 12, 2023 8:46 am    Post subject: Dan I think that I now understand your request (1) and I will add this to the wish list.
DanRRight

Joined: 10 Mar 2008
Posts: 2774
Location: South Pole, Antarctica

 Posted: Sat Nov 18, 2023 3:32 am    Post subject: Will clarify more why this change of limits in %PL is important on this example. When you look at some dynamically changing data you can plot the either the entire range of data or chose some specific range of x or y in Settings to this plot (so called Designer's mode) . The %PL starts with automatically plotting the entire range of data, you just write simple i-2 lines program mention there X,Y and that's it, the rest will be done automatically, If data changes next moment, you click on plot icon and it will adjust its limits automatically. It can be also done that you do not to click on anything, it will plot next plot automatically. But if you decided to look at some specific range and set the x,y limits on it (for example you want to resolve some tiny feature on the graph) you click on Settings icon and chose the needed range. When after that you want to return back to automatic limits and continue observing the whole data with automatic ranges you have no way to do that besides restarting entire GUI and also deleting Settings file! That means all other settings you made besides changing limits will be also lost.
 Display posts from previous: All Posts1 Day7 Days2 Weeks1 Month3 Months6 Months1 Year Oldest FirstNewest First
 All times are GMT + 1 Hour Page 1 of 1