summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/include/tqtenuminheritance.h
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:17:53 -0500
committerTimothy Pearson <kb9vqf@pearsoncomputing.net>2011-07-10 15:17:53 -0500
commitdda8474928bd7276e1fad8fb7a601e7c83ff2bc2 (patch)
tree7f83910598b33b12730035f086df20b5a53ab99c /tqtinterface/qt4/include/tqtenuminheritance.h
parent6260b6178868c03aab1644bf93b0ef043654bdb0 (diff)
downloadexperimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.tar.gz
experimental-dda8474928bd7276e1fad8fb7a601e7c83ff2bc2.zip
Added TQt4 HEAD
Diffstat (limited to 'tqtinterface/qt4/include/tqtenuminheritance.h')
-rw-r--r--tqtinterface/qt4/include/tqtenuminheritance.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/tqtinterface/qt4/include/tqtenuminheritance.h b/tqtinterface/qt4/include/tqtenuminheritance.h
new file mode 100644
index 0000000..ea69016
--- /dev/null
+++ b/tqtinterface/qt4/include/tqtenuminheritance.h
@@ -0,0 +1,36 @@
+#ifndef TQT_ENUM_INHERITANCE_H
+#define TQT_ENUM_INHERITANCE_H
+
+template <typename EnumT, typename BaseEnumT>
+class TQTInheritEnum
+{
+public:
+ TQTInheritEnum() {}
+ TQTInheritEnum(EnumT e)
+ : enum_(e)
+ {}
+
+ TQTInheritEnum(BaseEnumT e)
+ : baseEnum_(e)
+ {}
+
+ explicit TQTInheritEnum( int val )
+ : enum_(static_cast<EnumT>(val))
+ {}
+
+ operator EnumT() const { return enum_; }
+private:
+ // Note - the value is declared as a union mainly for as a debugging aid. If
+
+ // the union is undesired and you have other methods of debugging, change it
+
+ // to either of EnumT and do a cast for the constructor that accepts BaseEnumT.
+
+ union
+ {
+ EnumT enum_;
+ BaseEnumT baseEnum_;
+ };
+};
+
+#endif // TQT_ENUM_INHERITANCE_H \ No newline at end of file