#include <contextMenuModel.h>

Inheritance diagram for dnai::models::ContextMenuModel:
Inheritance graph
Collaboration diagram for dnai::models::ContextMenuModel:
Collaboration graph

Public Types

enum  ROLES {
  NAME = Qt::UserRole + 1, ITEM, DESCRIPTION, INPUTS,
  OUTPUTS, CONSTRUCTION, INSTRUCTION_ID, TYPE
}
 

Public Slots

void onEntityDeclared (dnai::models::Entity *declared)
 
void onEntityRemoved (dnai::models::Entity *removed)
 
void onEntityRenamed (dnai::models::Entity *entity, QString name, QString newname)
 
void onEnumValueSet (dnai::models::Entity *enumeration, QString name, QString value)
 
void onEnumValueRemoved (dnai::models::Entity *enumeration, QString name)
 
void onObjectAttributeAdded (models::Entity *obj, QString name, models::Entity *type, VISIBILITY visi)
 
void onObjectAttributeRenamed (models::Entity *obj, QString name, QString newName)
 
void onObjectAttributeRemoved (models::Entity *obj, QString name)
 
void onListTypeSet (dnai::models::Entity *lst, dnai::models::Entity *type)
 
void onParameterSet (dnai::models::Entity *func, QString param)
 
void onReturnSet (dnai::models::Entity *func, QString ret)
 
void onVariableTypeSet (dnai::models::Entity *var, dnai::models::Entity *type)
 

Public Member Functions

 ContextMenuModel (QObject *parent=nullptr)
 
 ContextMenuModel (const QJsonObject &doc, QObject *parent=nullptr)
 
QModelIndex index (int row, int column, const QModelIndex &parent) const override
 
QModelIndex parent (const QModelIndex &child) const override
 
ContextMenuItemgetItem (const QModelIndex &index) const
 
int rowCount (const QModelIndex &parent) const override
 
int columnCount (const QModelIndex &parent) const override
 
QVariant data (const QModelIndex &index, int role) const override
 
QHash< int, QByteArray > roleNames () const override
 
const QHash< QString, ContextMenuItem * > & instructions () const
 
void setup ()
 

Private Member Functions

void appendVariable (Entity *entity)
 
void appendEnumeration (Entity *entity)
 
void appendParameter (Entity *entity)
 
void appendReturn (Entity *entity)
 
void appendObject (Entity *entity)
 
void appendList (Entity *entity)
 
void appendFunction (Entity *entity)
 
void addItem (ContextMenuItem *item, ContextMenuItem *parent, models::Entity *related=nullptr)
 
void addItems (models::Entity *related)
 
void removeItem (QString const &fullPath)
 
void clearItems (models::Entity *related)
 
void refreshItems (models::Entity *related)
 
void parseJsonDocument (const QJsonObject &json)
 
void parseJsonObj (ContextMenuItem *parent, const QJsonObject &js)
 

Private Attributes

ContextMenuItemm_root
 
ContextMenuItemm_functions
 
ContextMenuItemm_lists
 
ContextMenuItemm_classes
 
ContextMenuItemm_variables
 
ContextMenuItemm_enumerations
 
bool m_functionRebuilding
 
QHash< QString, ContextMenuItem * > m_hash
 
QHash< models::Entity *, QList< QString > > m_entity_items
 
QHash< QString, models::Entity * > m_items_entity
 

Member Enumeration Documentation

Enumerator
NAME 
ITEM 
DESCRIPTION 
INPUTS 
OUTPUTS 
CONSTRUCTION 
INSTRUCTION_ID 
TYPE 

Constructor & Destructor Documentation

dnai::models::ContextMenuModel::ContextMenuModel ( QObject *  parent = nullptr)
explicit
dnai::models::ContextMenuModel::ContextMenuModel ( const QJsonObject &  doc,
QObject *  parent = nullptr 
)
explicit

Member Function Documentation

void dnai::models::ContextMenuModel::addItem ( ContextMenuItem item,
ContextMenuItem parent,
models::Entity related = nullptr 
)
private
void dnai::models::ContextMenuModel::addItems ( models::Entity related)
private
void dnai::models::ContextMenuModel::appendEnumeration ( Entity entity)
private
void dnai::models::ContextMenuModel::appendFunction ( Entity entity)
private
void dnai::models::ContextMenuModel::appendList ( Entity entity)
private
void dnai::models::ContextMenuModel::appendObject ( Entity entity)
private
void dnai::models::ContextMenuModel::appendParameter ( Entity entity)
private
void dnai::models::ContextMenuModel::appendReturn ( Entity entity)
private
void dnai::models::ContextMenuModel::appendVariable ( Entity entity)
private
void dnai::models::ContextMenuModel::clearItems ( models::Entity related)
private
int dnai::models::ContextMenuModel::columnCount ( const QModelIndex &  parent) const
override
QVariant dnai::models::ContextMenuModel::data ( const QModelIndex &  index,
int  role 
) const
override
ContextMenuItem * dnai::models::ContextMenuModel::getItem ( const QModelIndex &  index) const
QModelIndex dnai::models::ContextMenuModel::index ( int  row,
int  column,
const QModelIndex &  parent 
) const
override
const QHash< QString, ContextMenuItem * > & dnai::models::ContextMenuModel::instructions ( ) const
void dnai::models::ContextMenuModel::onEntityDeclared ( dnai::models::Entity declared)
slot
void dnai::models::ContextMenuModel::onEntityRemoved ( dnai::models::Entity removed)
slot
void dnai::models::ContextMenuModel::onEntityRenamed ( dnai::models::Entity entity,
QString  name,
QString  newname 
)
slot
void dnai::models::ContextMenuModel::onEnumValueRemoved ( dnai::models::Entity enumeration,
QString  name 
)
slot
void dnai::models::ContextMenuModel::onEnumValueSet ( dnai::models::Entity enumeration,
QString  name,
QString  value 
)
slot
void dnai::models::ContextMenuModel::onListTypeSet ( dnai::models::Entity lst,
dnai::models::Entity type 
)
slot
void dnai::models::ContextMenuModel::onObjectAttributeAdded ( models::Entity obj,
QString  name,
models::Entity type,
VISIBILITY  visi 
)
slot
void dnai::models::ContextMenuModel::onObjectAttributeRemoved ( models::Entity obj,
QString  name 
)
slot
void dnai::models::ContextMenuModel::onObjectAttributeRenamed ( models::Entity obj,
QString  name,
QString  newName 
)
slot
void dnai::models::ContextMenuModel::onParameterSet ( dnai::models::Entity func,
QString  param 
)
slot
void dnai::models::ContextMenuModel::onReturnSet ( dnai::models::Entity func,
QString  ret 
)
slot
void dnai::models::ContextMenuModel::onVariableTypeSet ( dnai::models::Entity var,
dnai::models::Entity type 
)
slot
QModelIndex dnai::models::ContextMenuModel::parent ( const QModelIndex &  child) const
override
void dnai::models::ContextMenuModel::parseJsonDocument ( const QJsonObject &  json)
private
void dnai::models::ContextMenuModel::parseJsonObj ( ContextMenuItem parent,
const QJsonObject &  js 
)
private
void dnai::models::ContextMenuModel::refreshItems ( models::Entity related)
private
void dnai::models::ContextMenuModel::removeItem ( QString const &  fullPath)
private
QHash< int, QByteArray > dnai::models::ContextMenuModel::roleNames ( ) const
override
int dnai::models::ContextMenuModel::rowCount ( const QModelIndex &  parent) const
override
void dnai::models::ContextMenuModel::setup ( )

Member Data Documentation

ContextMenuItem* dnai::models::ContextMenuModel::m_classes
private
QHash<models::Entity *, QList<QString> > dnai::models::ContextMenuModel::m_entity_items
private
ContextMenuItem* dnai::models::ContextMenuModel::m_enumerations
private
bool dnai::models::ContextMenuModel::m_functionRebuilding
private
ContextMenuItem* dnai::models::ContextMenuModel::m_functions
private
QHash<QString, ContextMenuItem*> dnai::models::ContextMenuModel::m_hash
private
QHash<QString, models::Entity *> dnai::models::ContextMenuModel::m_items_entity
private
ContextMenuItem* dnai::models::ContextMenuModel::m_lists
private
ContextMenuItem* dnai::models::ContextMenuModel::m_root
private
ContextMenuItem* dnai::models::ContextMenuModel::m_variables
private

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