Hi James,

Well really I find sizers are a bit problematic too. At the beginning I did them just as you are doing. Then I started drawing the more complicated ones out on a piece of paper before starting and now I have a standard layout which I reuse so that I have a standard header, a main panel and a standard footer with a standard set of buttons in it. The main panel still requires some thinking, but I would have used the nested sizers idea that you used. Wx::GridBagSizer is a bit more complicated, but would also have worked, that way you might have been able to do the whole thing with one sizer.

Regarding the memory leak, I thought I had it. I made a number of changes to make the code more streamlined and efficient and lo and behold the leak disappeared only to pop up else where.

It's driving me a bit crazier than I was anyway, and worse, I don't even know if it's causing the video crash! Any suggestions welcome!

Thanks for asking,

Steve.

On 06/05/15 23:39, James Lynes wrote:
Solved... via trial and error and error and error...

Made the top level sizer horizontal, containing a left and right vertical, containing text controls, bitmap, and buttons.

Will post once I add a few more bells and whistles.

Thanks again,

James


On Wed, May 6, 2015 at 4:06 PM, James Lynes <jmlyne...@gmail.com <mailto:jmlyne...@gmail.com>> wrote:

    Steve, thanks! Did the job.

    But, of course, one question leads to at least one more.....

    I would like the bitmap to be displayed to the right of a column
    of TextCtrls. Currently the TextCtrls are being displayed under
    the bitmap now that I'm not using an onPaint event . Do I need to
    create two sub-panels with sub-sizers, one for the bitmap and one
    for the TextCtrls? Or should the top sizer be a horzontal rather
    than vertical? Trying to make some sense of this sizer stuff.

    James

    PS: Did you find your memory leak?

    On Mon, May 4, 2015 at 11:32 AM, Steve Cookson
    <steve.cook...@sca-uk.com <mailto:steve.cook...@sca-uk.com>> wrote:

        Hi James,

        You want Wx::StaticBitmap, like this:

            my $bmp = Wx::Bitmap->new("path/to/bitmap.png",
        wxBITMAP_TYPE_PNG) ;
            my $sbm = Wx::StaticBitmap->new($parent, wxID_ANY, $bmp,
        wxDefaultPosition, wxDefaultSize, );
            $sizer->Add($sbm, 0, 0, 0);

        Regards

        Steve.



        On 02/05/15 16:05, James Lynes wrote:

            Good day!

            I'm working on a little app to design common emitter
            amplifiers. I created a circuit schematic with Eagle and
            exported it to a PNG file.

            I am currently displaying the PNG at a fixed location of
            the screen with:

                Wx::Event::EVT_PAINT($self, sub {
                    my ($self, $event) = @_;
                    My $dc = Wx::PaintDC->new($self);
                    my $bmp = Wx::Bitmap->new("CEAmpImg.png,
            wxBITMAP_TYPE_PNG);
                    $dc->DrawBitmap($bmp, 150, 50, 1);});

            If would be nice if I could blend this in with the sizers
            that are controlling the layout of the input and output
            TextCtrls.

            Thanks for your ideas.

            James






Reply via email to