qtGroupItem.h 1.53 KB
Newer Older
1 2 3 4 5 6 7 8 9
//=========================================================================
//  Copyright (c) Kitware, Inc.
//  All rights reserved.
//  See LICENSE.txt for details.
//
//  This software is distributed WITHOUT ANY WARRANTY; without even
//  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
//  PURPOSE.  See the above copyright notice for more information.
//=========================================================================
10
// .NAME qtGroupItem - UI components for attribute GroupItem
11 12 13 14
// .SECTION Description
// .SECTION See Also
// qtItem

Bob Obara's avatar
Bob Obara committed
15 16
#ifndef __smtk_extension_qtGroupItem_h
#define __smtk_extension_qtGroupItem_h
17

18
#include "smtk/extension/qt/Exports.h"
19
#include "smtk/extension/qt/qtItem.h"
20 21 22

class qtGroupItemInternals;

23
namespace smtk
24
{
25 26 27 28 29 30 31
namespace extension
{
class SMTKQTEXT_EXPORT qtGroupItem : public qtItem
{
  Q_OBJECT

public:
32 33
  static qtItem* createItemWidget(const AttributeItemInfo& info);
  qtGroupItem(const AttributeItemInfo& info);
34
  virtual ~qtGroupItem();
35
  void setLabelVisible(bool) override;
36 37

protected slots:
38
  void updateItemData() override;
39 40 41
  virtual void setEnabledState(bool checked);
  virtual void onAddSubGroup();
  virtual void onRemoveSubGroup();
42
  void onChildWidgetSizeChanged() override;
43 44 45
  virtual void onChildItemModified();

protected:
46
  void createWidget() override;
47 48 49 50 51 52 53 54 55
  virtual void addSubGroup(int i);
  virtual void updateExtensibleState();
  virtual void addItemsToTable(int i);

private:
  qtGroupItemInternals* Internals;

}; // class
}; // namespace attribute
56
}; // namespace smtk
57 58

#endif