Interfaces.docu 3.11 KB
Newer Older
Jan Möbius's avatar
 
Jan Möbius committed
1
/** \page interfaces Plugin Interfaces
Jan Möbius's avatar
Jan Möbius committed
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 *
 * OpenFlipper provides a flexible plugin interface. Plugins can implement various interfaces.
 * Each interface provides special signals/slots or functions to communicate with the core or
 * to react on special events. The most important interface is the BaseInterface. This Interface
 * provides the core functionality for the plugin. E.g. loading the plugin, specifying its name
 * and basic communication regrading object changes or view updates ( See BaseInterface for further details).\n
 * Additional functionality is provided by the other interfaces. For user interaction one typically uses the
 * MouseInterface or KeyInterface which will provide events based on mouse or keyboard interaction.\n
 * The interface of OpenFlipper can also be used by plugins. The MenubarInterface provides functions to
 * add additional icons to the menubar. Using the ToolboxInterface one can add widgets to the toolbox on
 * the right of the OpenFlipper screen.
 *
 *
 * \section BasePlugin Base Interface
 * This is the Basic plugin Interface. All Plugins have to provide at least this interface. It offers plugin
 * name and some important Signals and slots which will be called by the main application. See BaseInterface
Jan Möbius's avatar
 
Jan Möbius committed
18
 * for details.
Jan Möbius's avatar
Jan Möbius committed
19
20
21
22
23
24
25
26
27
28
29
 *
 * \section KeyPlugin Keyboard Interface
 * \image html keyInterface.png
 *  You have to provide this interface if you want to get key events in your plugin ( KeyInterface ).\n
 *
 *
 * \section MousePlugin Mouse Interface
 * \image html mouseInterface.png
 * This interface is used to deliver mouse events to a plugin ( MouseInterface ).\n
 *
 *
Mike Kremer's avatar
Mike Kremer committed
30
 * \section LoadSavePlugin Load / Save Interface
31
 * \image html loadSaveInterface.png
Mike Kremer's avatar
Mike Kremer committed
32
33
34
35
 * Provides functions to handle mesh files and load / unload geometry
 * objects into the scene graph ( LoadSaveInterface ).
 *
 *
36
37
38
39
40
 * \section ToolbarPlugin Toolbar Interface
 * \image html ToolbarInterface.png
 * Provides a function to add toolbar buttons. ( ToolbarInterface )
 *
 *
Jan Möbius's avatar
Jan Möbius committed
41
 * \section MenubarPlugin Menubar Interface
42
 * \image html MenubarInterface.png
Jan Möbius's avatar
 
Jan Möbius committed
43
 * Provides a function to create an entry in the menubar ( MenuInterface ).
Jan Möbius's avatar
Jan Möbius committed
44
45
46
 *
 *
 * \section ToolboxPlugin Toolbox Interface
47
 * \image html ToolboxInterface.png
48
 * Provides functions to create a separate widget in the toolbox on the right ( ToolboxInterface ).
Jan Möbius's avatar
Jan Möbius committed
49
50
51
 *
 *
 * \section LoggingPlugin Logging Interface
52
 * \image html LoggingInterface.png
Jan Möbius's avatar
Jan Möbius committed
53
54
55
56
57
 * This is an Interface for Logging to the included textedit widget. You can log to different levels
 * (LOGOUT,LOGWARN,LOGERR,LOGINFO) ( LoggingInterface ).
 *
 *
 * \section TexturePlugin Texture Interface
Jan Möbius's avatar
 
Jan Möbius committed
58
 * Allows your plugin to provide a texture. ( TextureInterface )
Jan Möbius's avatar
Jan Möbius committed
59
 *
Jan Möbius's avatar
 
Jan Möbius committed
60
 * \section PickingPlugin Mouse Picking / Pick Modes
61
 * \image html PickingInterface.png
Jan Möbius's avatar
 
Jan Möbius committed
62
 * Handle mouse picking in your plugin ( PickingInterface )
Jan Möbius's avatar
Jan Möbius committed
63
64
 *
 * \section RPCPlugin RPC Interface
65
 * \image html RPCInterface.png
Jan Möbius's avatar
Jan Möbius committed
66
67
 * This interface is used to call functions across different plugins ( RPCInterface ).
 *
Jan Möbius's avatar
 
Jan Möbius committed
68
 * \section INIPlugin Use Inifiles to store information
69
 * \image html INIInterface.png
Jan Möbius's avatar
 
Jan Möbius committed
70
71
 * Receive an event if an ini file is opened by the application. (INIInterface)\n
 */