This is my fist time using QFlags and something is not working here. I am probably missing something very stupid and I need a second eye...

testing-flags.cpp

Edit:
code is simple enough to put inline as well...

Qt Code:
  1. #include <QCoreApplication>
  2. #include <QFlags>
  3. #include <QDebug>
  4.  
  5. class foobar{
  6. public:
  7. enum MyFlag{
  8. flag1, flag2, flag3
  9. };
  10. Q_DECLARE_FLAGS(MyFlags, MyFlag)
  11.  
  12. MyFlags m_state;
  13.  
  14. void setFlag( MyFlag f, bool enable){
  15. if (enable)
  16. m_state &= !f;
  17. else
  18. m_state |= f;
  19. }
  20.  
  21. void toggleFlag( MyFlag f ){
  22. setFlag( f, !m_state.testFlag(f) );
  23. }
  24.  
  25. bool getFlag( MyFlag f){
  26. return m_state.testFlag(f);
  27. }
  28. };
  29.  
  30. int main()
  31. {
  32. foobar f;
  33. qDebug() << "Flags state" << f.getFlag( foobar::flag1 );
  34. f.toggleFlag(foobar::flag1);
  35. qDebug() << "Flags state" << f.getFlag( foobar::flag1 );
  36. }
To copy to clipboard, switch view to plain text mode