Hello Martin,
I have another puzzling behavior with my component.
The filtering function does not works. More precisely, I have created my custom "filter proxy model" by inheriting from QSortFilterProxyModel.
But on linux 32 bits EWO component, the program never call the filterAcceptsRow method I have override.
I think about a bug into the LibQGui.so of the WinCC libs because it works perfectly on all other plaftorms :
- Windows, on standalone mode (QtGui on 4.7.0 X86 and X64)
- Windows, on EWO mode
- Kubuntu standalone X64 (Qt 4.7.0)
- CentOS 6 standalone mode (QtGui on 4.7.0 X86)
But it does not works only on CentOS6 EWO mode X86.
For this last platform, the compilation works perfect now. I does not experience any strange error nor warning. Just this feature that does not works.
Keep in mind, I use the WinCC 3.10 32bits on a 64bits machine. Perhaps I should upgrade our version. I will have a try next tuesday
You can find the source in attachement :
https://www.winccoa.com/fileadmin/image ... 170413.zip
The problem come from the SortFilterProxyModel.cpp file, the filterAcceptsRow is not called even if I call the invalidateFilter() method (that works perfectly on windows and other platforms except the centos EWO)
Thank you in advance for your help.
To test the EWO, you can add it on a new panel and put these lines on the initialize of the component :
Code: Select all
this.addReadonlyColumn("name");
this.addRowValues(makeDynString("value 1"));
this.addRowValues(makeDynString("value 2"));
this.addRowValues(makeDynString("value 3"));
this.addRowValues(makeDynString("value 4"));
Then you can click on an item and chose "And equals - valueX" for example.
Normally it should filter on this value and only show it, other lines must disappears.