50#ifndef OBJECTSELECTIONPLUGIN_HH
51#define OBJECTSELECTIONPLUGIN_HH
62#include <OpenFlipper/BasePlugin/INIInterface.hh>
67#include <OpenFlipper/INIFile/INIFile.hh>
82 Q_PLUGIN_METADATA(IID
"org.OpenFlipper.Plugins.Plugin-SelectionObject")
97 void nodeVisibilityChanged(
int _identifier);
98 void setSlotDescription(QString _slotName, QString _slotDescription,
99 QStringList _parameters, QStringList _descriptions);
102 void log(
Logtype _type, QString _message);
103 void log(QString _message);
106 void scriptInfo(QString _functionName);
109 void addSelectionEnvironment(QString _modeName, QString _description, QString _icon, QString& _handleName);
110 void registerType(QString _handleName,
DataType _type);
111 void addPrimitiveType(QString _handleName, QString _name, QString _icon, SelectionInterface::PrimitiveType& _typeHandle);
112 void addSelectionOperations(QString _handleName, QStringList _operationsList, QString _category, SelectionInterface::PrimitiveType _type = 0u);
113 void showToggleSelectionMode(QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes);
114 void showVolumeLassoSelectionMode(QString _handleName,
bool _show, SelectionInterface::PrimitiveType _associatedTypes);
116 void getActiveDataTypes(SelectionInterface::TypeList& _types);
117 void getActivePrimitiveType(SelectionInterface::PrimitiveType& _type);
118 void targetObjectsOnly(
bool& _targetsOnly);
120 void registerKeyShortcut(
int _key, Qt::KeyboardModifiers _modifiers = Qt::NoModifier);
123 void deleteObject(
int _id);
128 void loadIniFile(
INIFile& _ini,
int _id);
129 void saveIniFile(
INIFile& _ini,
int _id);
132 void initializePlugin();
133 void pluginsInitialized();
134 void noguiSupported() {};
137 void slotSelectionOperation(
const QString &_operation);
138 void slotToggleSelection(QMouseEvent* _event, SelectionInterface::PrimitiveType _currentType,
bool _deselect);
149 void loadSelection(
int _objId,
const QString& _filename);
155 return (QString(tr(
"Object Selection")));
159 return (QString(tr(
"Allows to select objects")));
176 return QString(
"1.0");
std::vector< int > IdList
Standard Type for id Lists used for scripting.
Logtype
Log types for Message Window.
Interface class for backup handling.
Interface class from which all plugins have to be created.
Class for the handling of simple configuration files.
Interface class for Plugins which have to store information in ini files.
Keyboard Event Interface.
Interface for all plugins which want to Load or Save files and create Objects.
Interface for all Plugins which do logging to the logging window of the framework.
void selectObjects(IdList _list)
Select specified objects.
void slotKeyShortcutEvent(int _key, Qt::KeyboardModifiers _modifiers)
One of the previously registered keys has been pressed.
ObjectSelectionPlugin()
Default constructor.
void slotVolumeLassoSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a volume lasso selection.
QString description()
Return a description of what the plugin is doing.
PrimitiveType objectType_
Primitive type handles:
QVector< QPoint > volumeLassoPoints_
Keep volume lasso points.
void slotSaveSelection(INIFile &_file)
Save selection for all objects in the scene.
void slotToggleSelection(QMouseEvent *_event, SelectionInterface::PrimitiveType _currentType, bool _deselect)
Called whenever the user performs a toggle selection.
void selectAllObjects()
Select all objects.
void slotLoadSelection(const INIFile &_file)
Load selection for specific objects in the scene.
QString environmentHandle_
Handle to selection environment.
void deselectAllObjects()
Deselect all objects.
QString name()
Return a name for the plugin.
void invertObjectSelection()
Invert object selection.
void updateSlotDescriptions()
Set slot descriptions for scripting functions.
IdList getObjectSelection()
Get selected objects.
void deleteSelectedObjects()
Delete selected objects.
~ObjectSelectionPlugin()
Default destructor.
Interface for all Plugins which provide scriptable Functions.
Interface for all plugins which want to use selection functions.