Version: 9.15.0
YACS::HMI::SchemaDirTypesItem Class Reference

#include <SchemaDirTypesItem.hxx>

Inheritance diagram for YACS::HMI::SchemaDirTypesItem:
Collaboration diagram for YACS::HMI::SchemaDirTypesItem:

Public Member Functions

 SchemaDirTypesItem (SchemaItem *parent, QString label, Subject *subject)
 
void addTypeItem (Subject *subject)
 
void removeTypeItem (Subject *subject)
 
virtual Qt::ItemFlags flags (const QModelIndex &index)
 
virtual bool dropMimeData (const QMimeData *data, Qt::DropAction action)
 
- Public Member Functions inherited from YACS::HMI::SchemaItem
 SchemaItem (SchemaItem *parent, QString label, Subject *subject)
 
virtual ~SchemaItem ()
 
virtual void appendChild (SchemaItem *child)
 
virtual void removeChild (SchemaItem *child)
 
virtual void insertChild (int row, SchemaItem *child)
 
virtual SchemaItemchild (int row)
 
virtual int childCount () const
 
virtual int columnCount () const
 
virtual QVariant data (int column, int role) const
 
virtual int row () const
 
virtual SchemaItemparent ()
 
virtual SubjectgetSubject ()
 
virtual void update (GuiEvent event, int type, Subject *son)
 
virtual void select (bool isSelected)
 
virtual void toggleState ()
 
QModelIndex modelIndex (int column=0)
 
virtual void popupMenu (QWidget *caller, const QPoint &globalPos)
 
virtual ItemMimeDatamimeData (ItemMimeData *mime)
 
virtual void reparent (SchemaItem *parent)
 
virtual void setCaseValue ()
 used in node derived classes More...
 
bool isEmphasized ()
 
void setEmphasize (bool emphasize)
 
- Public Member Functions inherited from YACS::HMI::GuiObserver
 GuiObserver ()
 
virtual ~GuiObserver ()
 
virtual void incrementSubjects (Subject *subject)
 
virtual void decrementSubjects (Subject *subject)
 
int getNbSubjects ()
 
bool isDestructible ()
 

Protected Member Functions

virtual QVariant editionWhatsThis (int column) const
 
- Protected Member Functions inherited from YACS::HMI::SchemaItem
virtual QVariant editionToolTip (int column) const
 
virtual QVariant runToolTip (int column) const
 
virtual QVariant runWhatsThis (int column) const
 
virtual QString getMimeFormat ()
 
virtual void setExecState (int execState)
 

Additional Inherited Members

- Static Public Member Functions inherited from YACS::HMI::GuiObserver
static std::string eventName (GuiEvent event)
 
static void setEventMap ()
 
- Protected Attributes inherited from YACS::HMI::SchemaItem
QList< SchemaItem * > _childItems
 
QList< QVariant > _itemData
 
QList< QVariant > _itemDeco
 
QList< QVariant > _itemForeground
 
QList< QVariant > _itemBackground
 
QList< QVariant > _itemCheckState
 
QList< QVariant > _itemToolTip
 
QList< QVariant > _itemWhatsThis
 
QString _label
 
SchemaItem_parentItem
 
Subject_subject
 
int _execState
 
bool _emphasized
 
- Protected Attributes inherited from YACS::HMI::GuiObserver
std::set< Subject * > _subjectSet
 
bool _destructible
 
- Static Protected Attributes inherited from YACS::HMI::GuiObserver
static std::map< int, std::string > _eventNameMap
 

Detailed Description

Definition at line 29 of file SchemaDirTypesItem.hxx.

Constructor & Destructor Documentation

◆ SchemaDirTypesItem()

SchemaDirTypesItem::SchemaDirTypesItem ( SchemaItem parent,
QString  label,
Subject subject 
)

Definition at line 37 of file SchemaDirTypesItem.cxx.

38  : SchemaItem(parent, label, subject)
39 {
40  _itemDeco.replace(YLabel, QIcon("icons:folder_cyan.png"));
41 }
QList< QVariant > _itemDeco
Definition: SchemaItem.hxx:78
virtual SchemaItem * parent()
Definition: SchemaItem.cxx:163
SchemaItem(SchemaItem *parent, QString label, Subject *subject)
Definition: SchemaItem.cxx:39

References YACS::HMI::SchemaItem::_itemDeco, and YACS::HMI::YLabel.

Member Function Documentation

◆ addTypeItem()

void SchemaDirTypesItem::addTypeItem ( Subject subject)

Definition at line 43 of file SchemaDirTypesItem.cxx.

44 {
45  DEBTRACE("SchemaDirTypesItem::addTypeItem");
47  int nbsons = childCount();
48  SubjectDataType *sdt = dynamic_cast<SubjectDataType*>(subject);
49  YASSERT(sdt);
50  DEBTRACE(nbsons);
51  model->beginInsertRows(modelIndex(), nbsons, nbsons);
52  SchemaItem *item = new SchemaDataTypeItem(this,
53  sdt->getAlias().c_str(),
54  sdt);
55  model->endInsertRows();
56 }
#define YASSERT(val)
YASSERT macro is always defined, used like assert, but throw a YACS::Exception instead of abort.
Definition: YacsTrace.hxx:59
#define DEBTRACE(msg)
Definition: YacsTrace.hxx:31
YACS::HMI::SchemaModel * getSchemaModel()
static QtGuiContext * getQtCurrent()
QModelIndex modelIndex(int column=0)
Definition: SchemaItem.cxx:253
virtual int childCount() const
Definition: SchemaItem.cxx:111
virtual std::string getAlias()

References YACS::HMI::SchemaItem::childCount(), DEBTRACE, YACS::HMI::SubjectDataType::getAlias(), YACS::HMI::QtGuiContext::getQtCurrent(), YACS::HMI::QtGuiContext::getSchemaModel(), YACS::HMI::SchemaItem::modelIndex(), and YASSERT.

Referenced by YACS::HMI::SchemaComposedNodeItem::update().

◆ dropMimeData()

bool SchemaDirTypesItem::dropMimeData ( const QMimeData data,
Qt::DropAction  action 
)
virtual

Reimplemented from YACS::HMI::SchemaItem.

Definition at line 77 of file SchemaDirTypesItem.cxx.

78 {
79  DEBTRACE("SchemaDirTypesItem::dropMimeData");
80  if (!data) return false;
81  const ItemMimeData* myData = dynamic_cast<const ItemMimeData*>(data);
82  if (!myData) return false;
83  bool ret =false;
84  if (myData->hasFormat("yacs/cataType"))
85  {
86  ret =true;
88  }
89  return ret;
90 }
YACS::HMI::GuiEditor * _guiEditor
Definition: GenericGui.hxx:201
void AddTypeFromCatalog(const ItemMimeData *myData)
Definition: GuiEditor.cxx:203
YACS::HMI::GenericGui * getGMain()
virtual QVariant data(int column, int role) const
Definition: SchemaItem.cxx:123

References YACS::HMI::GenericGui::_guiEditor, YACS::HMI::GuiEditor::AddTypeFromCatalog(), YACS::HMI::SchemaItem::data(), DEBTRACE, YACS::HMI::QtGuiContext::getGMain(), and YACS::HMI::QtGuiContext::getQtCurrent().

◆ editionWhatsThis()

QVariant SchemaDirTypesItem::editionWhatsThis ( int  column) const
protectedvirtual

Reimplemented from YACS::HMI::SchemaItem.

Definition at line 92 of file SchemaDirTypesItem.cxx.

93 {
94 return "All the Data types required in this schema must be in this folder.\n" \
95  "You can add data types here by import from catalogs " \
96  "(builtin catalog, session catalog, or a catalog built from another schema).\n" \
97  "To add a data type, drag a data type item from catalogs panel and drop it here.";
98 }

◆ flags()

Qt::ItemFlags SchemaDirTypesItem::flags ( const QModelIndex &  index)
virtual

Reimplemented from YACS::HMI::SchemaItem.

Definition at line 71 of file SchemaDirTypesItem.cxx.

72 {
73  //DEBTRACE("SchemaDirTypesItem::flags");
74  return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDropEnabled;
75 }

◆ removeTypeItem()

void SchemaDirTypesItem::removeTypeItem ( Subject subject)

Definition at line 58 of file SchemaDirTypesItem.cxx.

59 {
60  DEBTRACE("SchemaDirTypesItem::removeTypeItem");
62  YASSERT(QtGuiContext::getQtCurrent()->_mapOfSchemaItem.count(subject));
64  int position = toRemove->row();
65  DEBTRACE(position);
66  model->beginRemoveRows(modelIndex(), position, position);
67  removeChild(toRemove);
68  model->endRemoveRows();
69 }
std::map< YACS::HMI::Subject *, YACS::HMI::SchemaItem * > _mapOfSchemaItem
virtual int row() const
Definition: SchemaItem.cxx:154
virtual void removeChild(SchemaItem *child)
Definition: SchemaItem.cxx:93

References YACS::HMI::QtGuiContext::_mapOfSchemaItem, DEBTRACE, YACS::HMI::QtGuiContext::getQtCurrent(), YACS::HMI::QtGuiContext::getSchemaModel(), YACS::HMI::SchemaItem::modelIndex(), YACS::HMI::SchemaItem::removeChild(), YACS::HMI::SchemaItem::row(), and YASSERT.

Referenced by YACS::HMI::SchemaComposedNodeItem::update().


The documentation for this class was generated from the following files: