
/*

  KLayout Layout Viewer
  Copyright (C) 2006-2016 Matthias Koefferlein

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

*/

/**
*  @file gsiDeclQDragMoveEvent_Enums.h 
*
*  DO NOT EDIT THIS FILE. 
*  This file has been created automatically
*/

#ifndef _HDR_gsiDeclQDragMoveEvent_Enums
#define _HDR_gsiDeclQDragMoveEvent_Enums

#include <QtCore/QFlags>

namespace qt_gsi
{

//  Wrapper class for QFlags<enum QEvent::Type>
class QEvent_Type_Enums : public QFlags<enum QEvent::Type> {
public:
  QEvent_Type_Enums () : m_flags () { }
  QEvent_Type_Enums (enum QEvent::Type v) : m_flags (v) { }
  QEvent_Type_Enums (const QFlags<enum QEvent::Type> &v) : m_flags (v) { }
  QFlags<enum QEvent::Type> flags () const { return m_flags; }
private:
  QFlags<QEvent::Type> m_flags;
};

//  Wrapper class for enum QEvent::Type
class QEvent_Type_Enum : public QEvent_Type_Enums {
public:
  QEvent_Type_Enum () { }
  QEvent_Type_Enum (enum QEvent::Type v) : QEvent_Type_Enums (v) { }
  enum QEvent::Type value () const { return (enum QEvent::Type) flags ().operator int (); }
};

//  Converter for QFlags<enum QEvent::Type>
template <>
struct Converter<QFlags<enum QEvent::Type> >
{
public:
  typedef QFlags<enum QEvent::Type> source_type;
  typedef QEvent_Type_Enums target_type;
  static source_type toq (const target_type &c) { return c.flags (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Converter for enum QEvent::Type
template <>
struct Converter<enum QEvent::Type>
{
public:
  typedef enum QEvent::Type source_type;
  typedef QEvent_Type_Enum target_type;
  static source_type toq (const target_type &c) { return c.value (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Wrapper class for QFlags<enum Qt::DropAction>
class Qt_DropAction_Enums : public QFlags<enum Qt::DropAction> {
public:
  Qt_DropAction_Enums () : m_flags () { }
  Qt_DropAction_Enums (enum Qt::DropAction v) : m_flags (v) { }
  Qt_DropAction_Enums (const QFlags<enum Qt::DropAction> &v) : m_flags (v) { }
  QFlags<enum Qt::DropAction> flags () const { return m_flags; }
private:
  QFlags<Qt::DropAction> m_flags;
};

//  Wrapper class for enum Qt::DropAction
class Qt_DropAction_Enum : public Qt_DropAction_Enums {
public:
  Qt_DropAction_Enum () { }
  Qt_DropAction_Enum (enum Qt::DropAction v) : Qt_DropAction_Enums (v) { }
  enum Qt::DropAction value () const { return (enum Qt::DropAction) flags ().operator int (); }
};

//  Converter for QFlags<enum Qt::DropAction>
template <>
struct Converter<QFlags<enum Qt::DropAction> >
{
public:
  typedef QFlags<enum Qt::DropAction> source_type;
  typedef Qt_DropAction_Enums target_type;
  static source_type toq (const target_type &c) { return c.flags (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Converter for enum Qt::DropAction
template <>
struct Converter<enum Qt::DropAction>
{
public:
  typedef enum Qt::DropAction source_type;
  typedef Qt_DropAction_Enum target_type;
  static source_type toq (const target_type &c) { return c.value (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Wrapper class for QFlags<enum Qt::KeyboardModifier>
class Qt_KeyboardModifier_Enums : public QFlags<enum Qt::KeyboardModifier> {
public:
  Qt_KeyboardModifier_Enums () : m_flags () { }
  Qt_KeyboardModifier_Enums (enum Qt::KeyboardModifier v) : m_flags (v) { }
  Qt_KeyboardModifier_Enums (const QFlags<enum Qt::KeyboardModifier> &v) : m_flags (v) { }
  QFlags<enum Qt::KeyboardModifier> flags () const { return m_flags; }
private:
  QFlags<Qt::KeyboardModifier> m_flags;
};

//  Wrapper class for enum Qt::KeyboardModifier
class Qt_KeyboardModifier_Enum : public Qt_KeyboardModifier_Enums {
public:
  Qt_KeyboardModifier_Enum () { }
  Qt_KeyboardModifier_Enum (enum Qt::KeyboardModifier v) : Qt_KeyboardModifier_Enums (v) { }
  enum Qt::KeyboardModifier value () const { return (enum Qt::KeyboardModifier) flags ().operator int (); }
};

//  Converter for QFlags<enum Qt::KeyboardModifier>
template <>
struct Converter<QFlags<enum Qt::KeyboardModifier> >
{
public:
  typedef QFlags<enum Qt::KeyboardModifier> source_type;
  typedef Qt_KeyboardModifier_Enums target_type;
  static source_type toq (const target_type &c) { return c.flags (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Converter for enum Qt::KeyboardModifier
template <>
struct Converter<enum Qt::KeyboardModifier>
{
public:
  typedef enum Qt::KeyboardModifier source_type;
  typedef Qt_KeyboardModifier_Enum target_type;
  static source_type toq (const target_type &c) { return c.value (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Wrapper class for QFlags<enum Qt::MouseButton>
class Qt_MouseButton_Enums : public QFlags<enum Qt::MouseButton> {
public:
  Qt_MouseButton_Enums () : m_flags () { }
  Qt_MouseButton_Enums (enum Qt::MouseButton v) : m_flags (v) { }
  Qt_MouseButton_Enums (const QFlags<enum Qt::MouseButton> &v) : m_flags (v) { }
  QFlags<enum Qt::MouseButton> flags () const { return m_flags; }
private:
  QFlags<Qt::MouseButton> m_flags;
};

//  Wrapper class for enum Qt::MouseButton
class Qt_MouseButton_Enum : public Qt_MouseButton_Enums {
public:
  Qt_MouseButton_Enum () { }
  Qt_MouseButton_Enum (enum Qt::MouseButton v) : Qt_MouseButton_Enums (v) { }
  enum Qt::MouseButton value () const { return (enum Qt::MouseButton) flags ().operator int (); }
};

//  Converter for QFlags<enum Qt::MouseButton>
template <>
struct Converter<QFlags<enum Qt::MouseButton> >
{
public:
  typedef QFlags<enum Qt::MouseButton> source_type;
  typedef Qt_MouseButton_Enums target_type;
  static source_type toq (const target_type &c) { return c.flags (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

//  Converter for enum Qt::MouseButton
template <>
struct Converter<enum Qt::MouseButton>
{
public:
  typedef enum Qt::MouseButton source_type;
  typedef Qt_MouseButton_Enum target_type;
  static source_type toq (const target_type &c) { return c.value (); }
  static target_type toc (const source_type &qc) { return target_type (qc); }
};

}

#endif
