Since you're explicitly calling QDebug operator<<(QDebug &stream, const base &obj) the compiler can't call the other function.
What you can do is to write your own "virtual QString debug() const" function in every class which you the call within the debug stream operator function. But once again - plain C++ :)
As long as you dont do multiple inheritance ,
i think you base class design should work just fine.
However, make sure to overrride
int QGraphicsItem::type() const pr concrete class to make sure
I sincerely want to thank you for your help! This project took six-months and your assistance was crucial in getting over the goal line in the final week. If I missed that hard deadline my six-month contract-to-hire would have been terminated. Partly because of your assistance I made it work and was hired full-time permanent! We shipped Version 1.0 and two weeks later I delivered a significant V1.1 follow up!.
I momentarily had it setup as a (static?)linked library but backtracked to direct #includes from the /common/ folder, mainly because I understood it better. I intend to switch again to the library method because of compile times as you suggested. I was also scared off by an article suggesting I would need to add C++ #EXTERN statements, etc. to create a public interface for the library. Is that true, or can the .pro/.pri files define that folder as a library with NO changes to the C++?
I still have to migrate *.qml files to the /common/ but I assume it's basically the same pattern as the C++. I haven't replied because I thought I had more questions but the project has been moving too rapidly.
The Q_OBJECT macro can be put in public, protected or private section and it will do the same. It doesn't matter for moc but I highly recommend to always put it at the top of your class for the following reason:
Thank you all for the replies. I can not set the alpha value as I am using an image as the background.
I solved this by moving the opacity to the BorderImage which acts as background of the Window.
id : root
color: "transparent" // This works properly when Aero theme is enabled in Windows