// SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
// SPDX-FileCopyrightText: Copyright (c) Sandia Corporation
// SPDX-License-Identifier: BSD-3-Clause
// Generated file.  Do not edit.


#include "@_paraview_property_widget_CLASS_NAME@PWIImplementation.h"

#include "@_paraview_property_widget_CLASS_NAME@.h"
#include "vtkSMProperty.h"
#include "vtkSMPropertyGroup.h"

#cmakedefine01 _paraview_property_widget_kind_widget
#cmakedefine01 _paraview_property_widget_kind_group_widget
#cmakedefine01 _paraview_property_widget_kind_widget_decorator

//-----------------------------------------------------------------------------
@_paraview_property_widget_CLASS_NAME@PWIImplementation::@_paraview_property_widget_CLASS_NAME@PWIImplementation(QObject* parentObject)
  : QObject(parentObject)
{
  setObjectName("@_paraview_property_widget_CLASS_NAME@");
}

//-----------------------------------------------------------------------------
@_paraview_property_widget_CLASS_NAME@PWIImplementation::~@_paraview_property_widget_CLASS_NAME@PWIImplementation() = default;

//-----------------------------------------------------------------------------
pqPropertyWidget* @_paraview_property_widget_CLASS_NAME@PWIImplementation::createWidgetForProperty(
  vtkSMProxy *smproxy, vtkSMProperty *smproperty, QWidget* parentWidget)
{
#if _paraview_property_widget_kind_widget
  // handle properties that specify custom panel widgets
  if (smproperty && smproperty->GetPanelWidget() &&
      strcmp(smproperty->GetPanelWidget(), "@_paraview_property_widget_TYPE@") == 0)
  {
    return new @_paraview_property_widget_CLASS_NAME@(smproxy, smproperty, parentWidget);
  }
#endif
  Q_UNUSED(smproxy);
  Q_UNUSED(smproperty);
  Q_UNUSED(parentWidget);
  return nullptr;
}


//-----------------------------------------------------------------------------
pqPropertyWidget* @_paraview_property_widget_CLASS_NAME@PWIImplementation::createWidgetForPropertyGroup(
  vtkSMProxy *smproxy, vtkSMPropertyGroup *smgroup, QWidget* parentWidget)
{
#if _paraview_property_widget_kind_group_widget
  // handle properties that specify custom panel widgets
  if (smgroup && smgroup->GetPanelWidget() &&
      strcmp(smgroup->GetPanelWidget(), "@_paraview_property_widget_TYPE@") == 0)
  {
    return new @_paraview_property_widget_CLASS_NAME@(smproxy, smgroup, parentWidget);
  }
#endif
  Q_UNUSED(smproxy);
  Q_UNUSED(smgroup);
  Q_UNUSED(parentWidget);
  return nullptr;
}

//-----------------------------------------------------------------------------
pqPropertyWidgetDecorator* @_paraview_property_widget_CLASS_NAME@PWIImplementation::createWidgetDecorator(
  const QString& type, vtkPVXMLElement* config, pqPropertyWidget* widget)
{
#if _paraview_property_widget_kind_widget_decorator
  // handle properties that specify custom panel widgets
  if (type == "@_paraview_property_widget_TYPE@")
  {
    return new @_paraview_property_widget_CLASS_NAME@(config, widget);
  }
#endif
  Q_UNUSED(type);
  Q_UNUSED(config);
  Q_UNUSED(widget);
  return nullptr;
}
