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