Show CSceneGraphEditMenu.h syntax highlighted
#ifndef __CSCENEGRAPHEDITMENU_H__
#define __CSCENEGRAPHEDITMENU_H__
#include <osgIntrospectionToolKit/signalslib.hpp>
#include <QtCore/QtCore>
#include <QtGui/QtGui>
#include <map>
#include <osgIntrospection/Value>
namespace osgIntrospection
{
class Type;
class PropertyInfo;
}
namespace osgDesigner
{
class CSceneGraphView;
class CSceneGraphModel;
class CSceneGraphEditMenu : public QMenu
{
Q_OBJECT
public:
CSceneGraphEditMenu(QWidget * parent = 0);
CSceneGraphEditMenu(const QString & title, QWidget * parent = 0);
virtual ~CSceneGraphEditMenu();
void createSceneGraphMenu(CSceneGraphView* sgv, CSceneGraphModel* sgm, QModelIndexList& mil);
QAction * actionExpandAll();
QAction * actionCollapseAll();
QAction * actionCopyByReference();
QAction * actionCut();
QAction * actionPast();
protected:
std::size_t createAddActionMenu();
void _createNewActionMenu(const osgIntrospection::Type* type, QMenu* menu);
void createNewActionMenu(QModelIndex& mi, QMenu* menu);
void createAction();
void copyItemByIntance(osgIntrospection::ValueList& valueList);
protected slots:
void expandItemSlot();
void collapseItemSlot();
void cutItemSlot();
void copyItemByIntanceSlot();
void copyItemByIntanceDialogSlot();
void copyItemByReferenceSlot();
void pasteItemSlot();
void newItemSlot(QAction* action);
void addItemSlot(QAction* action);
void removeItemSlot();
void setFromFileSlot();
void viewItemInPropertiesViewSlot();
void viewItemInNewPropertiesViewSlot();
protected:
void _recursive_expandItem(QModelIndex& mi);
void _recursive_collapseItem(QModelIndex& mi);
private:
CSceneGraphModel* _sgm;
CSceneGraphView* _sgv;
QModelIndexList _mil;
QMenu* _newActionMenu;
QMenu* _addActionMenu;
QMenu* _viewInMenu;
QAction* _expandAct;
QAction* _collapseAct;
QAction* _undoAct;
QAction* _cutAct;
QAction* _copyByIntanceAct;
QAction* _copyByIntanceDialogAct;
QAction* _copyByReferenceAct;
QAction* _pasteAct;
QAction* _removeAct;
QAction* _viewInPropertiesViewAct;
QAction* _viewInNewPropertiesViewAct;
QAction* _setFromClipBoardAct;
QAction* _setFromFileAct;
std::map<QMenu*, const osgIntrospection::PropertyInfo*> _addArrayMenuMap;
};
}
#endif // ** __CSCENEGRAPHEDITMENU_H__ ** //
See more files for this project here