tests/wxHMI/HMI@wxglade_hmi/hmi.wxg
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Fri, 13 Jan 2017 19:51:36 +0300
changeset 1631 940e20a8865b
parent 1462 9ee3a2dea7e8
child 1691 9a42f12a973e
permissions -rw-r--r--
fix issue with printing scheme (FBD, LD or SFC) with comment element on GNU/Linux

If you draw FBD scheme and place comment on it and then try to print
it, then no wires will be printed and comment box is empty (text is
missing). This happens only for wx.PrinterDC and not on wx.MemoryDC
that is used to draw print preview window in Beremiz IDE.
Looks like a bug in wxPython or wxWidgets.

There were found several workaround for this issue.
1) If some dc.DrawLines call is placed before dc.DrawPolygon, then the
problem is gone.

...
dc.DrawLines(polygon)
dc.DrawPolygon(polygon)
...

2) Reseting DC brush solves the problem as well (see this changeset).
<?xml version="1.0"?>
<!-- generated by wxGlade 0.6.8 on Thu Jun 18 15:19:02 2015 -->

<application path="" name="" class="" option="0" language="python" top_window="wxglade_hmi" encoding="UTF-8" use_gettext="1" overwrite="0" use_new_namespace="1" for_version="2.8" is_template="0" indent_amount="4" indent_symbol="space" source_extension=".cpp" header_extension=".h">
    <object class="Class_wxglade_hmi" name="wxglade_hmi" base="EditFrame">
        <style>wxCAPTION|wxCLOSE_BOX|wxMINIMIZE_BOX|wxMAXIMIZE|wxMAXIMIZE_BOX|wxSYSTEM_MENU|wxRESIZE_BORDER|wxCLIP_CHILDREN</style>
        <title>frame_1</title>
        <object class="wxFlexGridSizer" name="grid_sizer_1" base="EditFlexGridSizer">
            <hgap>0</hgap>
            <growable_rows>0</growable_rows>
            <rows>1</rows>
            <growable_cols>0</growable_cols>
            <cols>4</cols>
            <vgap>0</vgap>
            <object class="sizeritem">
                <flag>wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL</flag>
                <border>0</border>
                <option>1</option>
                <object class="ThreeDee" name="window_1" base="CustomWidget">
                    <extracode># WHERE IS THAT ?\nprint "hello"\n</extracode>
                    <arguments>
                        <argument>$parent</argument>
                        <argument>$id</argument>
                    </arguments>
                    <size>400,400</size>
                </object>
            </object>
            <object class="sizeritem">
                <flag>wxEXPAND</flag>
                <border>0</border>
                <option>1</option>
                <object class="wxFlexGridSizer" name="sizer_1" base="EditFlexGridSizer">
                    <hgap>0</hgap>
                    <growable_rows>0</growable_rows>
                    <rows>2</rows>
                    <cols>1</cols>
                    <vgap>0</vgap>
                    <object class="sizeritem">
                        <flag>wxEXPAND</flag>
                        <border>0</border>
                        <option>1</option>
                        <object class="wxBoxSizer" name="sizer_2" base="EditBoxSizer">
                            <orient>wxVERTICAL</orient>
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                        </object>
                    </object>
                    <object class="sizeritem">
                        <flag>wxEXPAND</flag>
                        <border>0</border>
                        <option>1</option>
                        <object class="wxGridSizer" name="sizer_3" base="EditGridSizer">
                            <hgap>0</hgap>
                            <rows>4</rows>
                            <cols>2</cols>
                            <vgap>0</vgap>
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                            <object class="sizerslot" />
                        </object>
                    </object>
                </object>
            </object>
            <object class="sizeritem">
                <border>0</border>
                <option>0</option>
                <object class="wxToggleButton" name="DrawTestBt" base="EditToggleButton">
                    <label>Please Draw !</label>
                    <events>
                        <handler event="EVT_TOGGLEBUTTON">SetPLCGlobalVar</handler>
                    </events>
                    <extraproperties>
                        <property name="Name">"DrawTest"</property>
                    </extraproperties>
                </object>
            </object>
            <object class="sizeritem">
                <border>0</border>
                <option>0</option>
                <object class="wxToggleButton" name="DrawTestBt_copy" base="EditToggleButton">
                    <label>Please Draw copy !</label>
                    <events>
                        <handler event="EVT_TOGGLEBUTTON">SetPLCGlobalVar</handler>
                    </events>
                    <extraproperties>
                        <property name="Name">"DrawEscher"</property>
                    </extraproperties>
                </object>
            </object>
        </object>
    </object>
</application>