Phil,

Thanks for your help. I just tried both suggestions and the use of wxSize(800, 800) forked but the suggestion below did not.

I will try and forge ahead but I had ran into an issue with nested splitter windows not resizing correctly and the wxWidgets community suggested fix was to never use wxSize, always use default, i.e. no manual setting of arguments.

Admittedly I am new to PLplot and while I've been using wxWdgets for a while now this new project has me expanding my repertoire. I have been using the examples provided but simple changes lead to strange results.

It is not my intent to waste your time and I appreciate your help. I ask only when I've tried several times and read the PLplot manual. I think that will be my weekend reading.

David


On 6/7/2018 10:46 AM, Phil Rosenberg wrote:
Hi David again

Just to let you know that a way to get the automatic text sizing to
work correctly without specifying an initial size for your window
would be to wait until the window is displayed to call your Plot
routine. You could do this by catching the first resize event or first
paint event and calling Plot at that point.

Or if you wish to manually set text size you should note that
pls->adv() and pls->env() (which calls plsadv()) reset the size to
what plplot thinks is the best. Hence you must do the work of
pls->env() manually. In your case, replace pls->env() with

  pls->clear();
  pls->vsta();
  pls->wind(xmin, xmax, ymin, ymax);
  pls->schr(5.0, 1.0);
  plbox("bcnst", (PLFLT) 0.0, 0, "bcnstv", (PLFLT) 0.0, 0);
  pls->schr(8.0, 1.0);
  pls->lab("x", "y", "sin(x)/x");

replacing the values 5.0 and 8.0 witht he size you want your numbers
and labels (in mm).

On 7 June 2018 at 14:55, Phil Rosenberg <p.d.rosenb...@gmail.com> wrote:
Hi David
Sorry, I haven't replied - I've been away and off email for close to a month.

Anyway - the problem is that when you create your wxPLplotwindow using
the default constructor it gets a size of wxDefaultSize at
initialisation. This is 20x20 pixels on my Windows system. PLPlot then
uses this size along with the DPI to calculate the most appropriate
text size, which comes out at I think about 0.3 mm. This is converted
to a pt size and used to create a wxFont. One of either of the
following is happening wxFont only accepts integers for pt size and
the pt size is less than 1 so gets rounded down to 0 and no text is
drawn, or the text is sortof there, but it is so small it doesn't
actually show up.

The easiest workaround is to specify a size at construction time -
this will change when your frame actually sorts out the sizing of its
child windows, but that's fine. So something like

m_right = new wxPLplotwindow<wxPanel>(true, wxSize(800, 800));

works and the text displays.

You should also be able to manually set the size using pls->schr() in
your Plot function, but I've just quickly tried that and it didn't
work. I'll try to investigate why.

Hope that gets you going for now.

Phil



On 6 June 2018 at 13:01, David Bergman <stuntguitar1...@gmail.com> wrote:
Alan,

Thanks.  It seems that we're making some progress.  I am working on Windows
and I do not get the warning
"Somehow we attempted to plot before the wxPLplotwindow was ready. The plot
will not be drawn".
I get a plot with some missing elements.  I've not tried to build or run in
Linux.

Thanks for your help,
David


On 6/6/2018 1:48 AM, Alan W. Irwin wrote:
On 2018-05-25 15:37-0400 David Bergman wrote:

Alan,

I regret waiting this long to reply but have had a lot of work.
To tell you the truth I am not sure what exactly caused the issue but
I've deleted the "wxOVERRIDE" from the code, which was clearly a copy-paste
from a wxWidgets example.

I copied the simple.cpp code into the PLplot-Widgets example.

cmake and nmake both ran find but cmake install generated the following
fatal error.  Recall that I had quite a bit of trouble getting it to install
the first time and I may have missed an option that is required.  Not sure
if my error is due to the same issue that caused your error.


Install the project...
-- Install configuration: "Debug"
-- Installing: C:/Program Files (x86)/plplot/share/doc/plplot/ABOUT
CMake Error at cmake_install.cmake:39 (file):
  file INSTALL cannot copy file "C:/plplot-5.13.0/ABOUT" to "C:/Program
Files
  (x86)/plplot/share/doc/plplot/ABOUT".


NMAKE : fatal error U1077: 'echo' : return code '0x1'
Stop.

Hi David:

In my case, it was configuration of a new computer which kept me from
replying to what you said above in a timely way.  My apologies for that
delay.  But that new computer configuration has now been a success (I
am writing this from the new computer and PLplot also builds
on that new computer) so I now have a chance to answer you.

I think the nmake trouble you are having is due to the (default) install
prefix
"C:/Program Files (x86)" having a blank in the path.  I think all those
"blank in
path" issues are now gone in the git version of PLplot so please try that
not
only for that reason but also because that is the version of PLplot I test
with
in any case.

I tried a similar test (copying simple.cpp on top of
examples/c++/wxPLplotDemo.cpp) here,
but in my case I configured PLplot with the cmake option -DBUILD_TEST=ON
which
allows users to test in the build tree without having to install. The
result on
my new Debian Buster platform was I could build and run simple.cpp using
"make test_wxPLplotDemo".  That test had two key warnings which were

Gtk-Message: 22:23:32.181: GtkDialog mapped without a transient parent.
This is discouraged.

on the command line + a dialog box with the following contents:

"Somehow we attempted to plot before the wxPLplotwindow was ready.  The
plot will not be drawn".

And indeed that was followed by a blank plot.  So it appears your
simple.cpp is still
not set up correctly for the Linux case.

I have put this thread back on the plplot-general list because Phil
Rosenberg, the author of the PLplot wxwidgets binding and device may
wish to comment since he had similar "waiting for events" trouble in
the past on Linux which might be related to what I am seeing on Linux with
the current simple.cpp.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and
Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to