Added generated event list documentation page. Closes #66.

This commit is contained in:
Lasse Öörni 2013-12-08 01:39:36 +02:00
parent 5fa9116be1
commit dc6294af16
3 changed files with 582 additions and 0 deletions

View File

@ -7292,6 +7292,532 @@ Properties:
- uint DEBUGHUD_SHOW_MODE
- uint DEBUGHUD_SHOW_PROFILER
- uint DEBUGHUD_SHOW_ALL
\page EventList Event list
## %Core events
### BeginFrame
- %FrameNumber : unsigned
- %TimeStep : float
### Update
- %TimeStep : float
### PostUpdate
- %TimeStep : float
### RenderUpdate
- %TimeStep : float
### PostRenderUpdate
- %TimeStep : float
### EndFrame
## %Engine events
### ConsoleCommand
- %Command : String
## %Drawable events
### BoneHierarchyCreated
- %Node : Node pointer
### AnimationTrigger
- %Node : Node pointer
- %Name : String
- %Time : Float
- %Data : User-defined data type
### TerrainCreated
- %Node : Node pointer
## %Graphics events
### WindowMessage
- %Window : int
- %Msg : int
- %WParam : int
- %LParam : int
- %Handled : bool
### ScreenMode
- %Width : int
- %Height : int
- %Fullscreen : bool
- %Resizable : bool
### GraphicsFeatures
### RenderSurfaceUpdate
### BeginRendering
### EndRendering
### BeginViewUpdate
- %Texture : Texture pointer
- %Surface : RenderSurface pointer
- %Scene : Scene pointer
- %Camera : Camera pointer
### EndViewUpdate
- %Texture : Texture pointer
- %Surface : RenderSurface pointer
- %Scene : Scene pointer
- %Camera : Camera pointer
### BeginViewRender
- %Texture : Texture pointer
- %Surface : RenderSurface pointer
- %Scene : Scene pointer
- %Camera : Camera pointer
### EndViewRender
- %Texture : Texture pointer
- %Surface : RenderSurface pointer
- %Scene : Scene pointer
- %Camera : Camera pointer
## %Input events
### MouseButtonDown
- %Button : int
- %Buttons : int
- %Qualifiers : int
### MouseButtonUp
- %Button : int
- %Buttons : int
- %Qualifiers : int
### MouseMove
- %X : int (only when mouse visible)
- %Y : int (only when mouse visible)
- %DX : int
- %DY : int
- %Buttons : int
- %Qualifiers : int
### MouseWheel
- %Wheel : int
- %Buttons : int
- %Qualifiers : int
### KeyDown
- %Key : int
- %Buttons : int
- %Qualifiers : int
- %Repeat : bool
### KeyUp
- %Key : int
- %Buttons : int
- %Qualifiers : int
### Char
- %Char : int
- %Buttons : int
- %Qualifiers : int
### TouchBegin
- %TouchID : int
- %X : int
- %Y : int
- %Pressure : float
### TouchEnd
- %TouchID : int
- %X : int
- %Y : int
### TouchMove
- %TouchID : int
- %X : int
- %Y : int
- %DX : int
- %DY : int
- %Pressure : float
### JoystickButtonDown
- %Joystick : int
- %Button : int
### JoystickButtonUp
- %Joystick : int
- %Button : int
### JoystickAxisMove
- %Joystick : int
- %Button : int
- %Position : float
### JoystickHatMove
- %Joystick : int
- %Button : int
- %Position : int
### DropFile
- %FileName : String
### InputFocus
- %Focus : bool
- %Minimized : bool
### MouseVisibleChanged
- %Visible : bool
### ExitRequested
## %IO events
### LogMessage
- %Message : String
- %Level : int
## %Network events
### ServerConnected
### ServerDisconnected
### ConnectFailed
### ClientConnected
- %Connection : Connection pointer
### ClientDisconnected
- %Connection : Connection pointer
### ClientIdentity
- %Connection : Connection pointer
- %Allow : bool
### ClientSceneLoaded
- %Connection : Connection pointer
### NetworkMessage
- %Connection : Connection pointer
- %MessageID : int
- %Data : Buffer
### NetworkUpdate
### NetworkUpdateSent
### NetworkSceneLoadFailed
- %Connection : Connection pointer
### RemoteEventData
- %Connection : Connection pointer
## %Physics events
### PhysicsPreStep
- %World : PhysicsWorld pointer
- %TimeStep : float
### PhysicsPostStep
- %World : PhysicsWorld pointer
- %TimeStep : float
### PhysicsCollisionStart
- %World : PhysicsWorld pointer
- %NodeA : Node pointer
- %NodeB : Node pointer
- %BodyA : RigidBody pointer
- %BodyB : RigidBody pointer
- %Phantom : bool
### PhysicsCollision
- %World : PhysicsWorld pointer
- %NodeA : Node pointer
- %NodeB : Node pointer
- %BodyA : RigidBody pointer
- %BodyB : RigidBody pointer
- %Phantom : bool
### PhysicsCollisionEnd
- %World : PhysicsWorld pointer
- %NodeA : Node pointer
- %NodeB : Node pointer
- %BodyA : RigidBody pointer
- %BodyB : RigidBody pointer
- %Phantom : bool
### NodeCollisionStart
- %Body : RigidBody pointer
- %OtherNode : Node pointer
- %OtherBody : RigidBody pointer
- %Phantom : bool
### NodeCollision
- %Body : RigidBody pointer
- %OtherNode : Node pointer
- %OtherBody : RigidBody pointer
- %Phantom : bool
### NodeCollisionEnd
- %Body : RigidBody pointer
- %OtherNode : Node pointer
- %OtherBody : RigidBody pointer
- %Phantom : bool
## %Resource events
### ReloadStarted
### ReloadFinished
### ReloadFailed
## %Scene events
### SceneUpdate
- %Scene : Scene pointer
- %TimeStep : float
### SceneSubsystemUpdate
- %Scene : Scene pointer
- %TimeStep : float
### UpdateSmoothing
- %Constant : float
- %SquaredSnapThreshold : float
### SceneDrawableUpdateFinished
- %Scene : Scene pointer
- %TimeStep : float
### TargetPositionChanged
### TargetRotationChanged
### ScenePostUpdate
- %Scene : Scene pointer
- %TimeStep : float
### AsyncLoadProgress
- %Scene : Scene pointer
- %Progress : float
- %LoadedNodes : int
- %TotalNodes : int
### AsyncLoadFinished
- %Scene : Scene pointer
### NodeAdded
- %Scene : Scene pointer
- %Parent : Node pointer
- %Node : Node pointer
### NodeRemoved
- %Scene : Scene pointer
- %Parent : Node pointer
- %Node : Node pointer
### ComponentAdded
- %Scene : Scene pointer
- %Node : Node pointer
- %Component : Component pointer
### ComponentRemoved
- %Scene : Scene pointer
- %Node : Node pointer
- %Component : Component pointer
### NodeNameChanged
- %Scene : Scene pointer
- %Node : Node pointer
### NodeEnabledChanged
- %Scene : Scene pointer
- %Node : Node pointer
### ComponentEnabledChanged
- %Scene : Scene pointer
- %Node : Node pointer
- %Component : Component pointer
### TemporaryChanged
- %Serializable : Serializable pointer
## %UI events
### UIMouseClick
- %Element : UIElement pointer
- %X : int
- %Y : int
- %Button : int
- %Buttons : int
- %Qualifiers : int
### UIMouseClickEnd
- %Element : UIElement pointer
- %BeginElement : UIElement pointer
- %X : int
- %Y : int
- %Button : int
- %Buttons : int
- %Qualifiers : int
### UIMouseDoubleClick
- %Element : UIElement pointer
- %X : int
- %Y : int
- %Button : int
- %Buttons : int
- %Qualifiers : int
### DragDropTest
- %Source : UIElement pointer
- %Target : UIElement pointer
- %Accept : bool
### DragDropFinish
- %Source : UIElement pointer
- %Target : UIElement pointer
- %Accept : bool
### FocusChanged
- %Element : UIElement pointer
- %ClickedElement : UIElement pointer
### NameChanged
- %Element : UIElement pointer
### Resized
- %Element : UIElement pointer
- %Width : int
- %Height : int
### Positioned
- %Element : UIElement pointer
- %X : int
- %Y : int
### VisibleChanged
- %Element : UIElement pointer
- %Visible : bool
### Focused
- %Element : UIElement pointer
### Defocused
- %Element : UIElement pointer
### LayoutUpdated
- %Element : UIElement pointer
### Pressed
- %Element : UIElement pointer
### Released
- %Element : UIElement pointer
### Toggled
- %Element : UIElement pointer
- %State : bool
### SliderChanged
- %Element : UIElement pointer
- %Value : float
### SliderPaged
- %Element : UIElement pointer
- %Offset : int
- %Pressed : bool
### ScrollBarChanged
- %Element : UIElement pointer
- %Value : float
### ViewChanged
- %Element : UIElement pointer
- %X : int
- %Y : int
### ModalChanged
- %Element : UIElement pointer
- %Modal : bool
### TextChanged
- %Element : UIElement pointer
- %Text : String
### TextFinished
- %Element : UIElement pointer
- %Text : String
### MenuSelected
- %Element : UIElement pointer
### ItemSelected
- %Element : UIElement pointer
- %Selection : int
### ItemDeselected
- %Element : UIElement pointer
- %Selection : int
### SelectionChanged
- %Element : UIElement pointer
### ItemDoubleClicked
- %Element : UIElement pointer
- %Selection : int
### UnhandledKey
- %Element : UIElement pointer
- %Key : int
- %Buttons : int
- %Qualifiers : int
### FileSelected
- %FileName : String
- %Filter : String
- %Ok : bool
### ElementAdded
- %Root : UIElement pointer
- %Parent : UIElement pointer
- %Element : UIElement pointer
### ElementRemoved
- %Root : UIElement pointer
- %Parent : UIElement pointer
- %Element : UIElement pointer
### DragBegin
- %Element : UIElement pointer
- %X : int
- %Y : int
- %ElementX : int
- %ElementY : int
### DragMove
- %Element : UIElement pointer
- %X : int
- %Y : int
- %ElementX : int
- %ElementY : int
### DragEnd
- %Element : UIElement pointer
- %X : int
- %Y : int
- %ElementX : int
- %ElementY : int
### UIDropFile
- %FileName : String
- %Element : UIElement pointer
- %X : int
- %Y : int
- %ElementX : int (only if element is non-null)
- %ElementY : int (only if element is non-null)
*/
}

View File

@ -42,6 +42,7 @@ For further reference, see:
\ref CodingConventions "Coding conventions" <br>
\ref ScriptAPI "Scripting API (generated)" <br>
\ref LuaScriptAPI "Lua Scripting API (generated)" <br>
\ref EventList "Event list (generated)" <br>
For credits, copyright and licensing information, see \ref Credits & \ref License.

View File

@ -24,6 +24,8 @@
#include "Addons.h"
#include "Context.h"
#include "EngineEvents.h"
#include "File.h"
#include "FileSystem.h"
#include "Log.h"
#include "Profiler.h"
#include "Scene.h"
@ -443,6 +445,59 @@ void Script::DumpAPI(DumpMode mode)
OutputAPIRow(mode, type + " " + String(propertyName), true);
}
// Dump event descriptions in Doxygen mode. This means going through the header files, as the information is not
// available otherwise
if (mode == DOXYGEN)
{
FileSystem* fileSystem = GetSubsystem<FileSystem>();
Vector<String> headerFiles;
String path = fileSystem->GetProgramDir();
path.Replace("/Bin", "/Source/Engine");
fileSystem->ScanDir(headerFiles, path, "*.h", SCAN_FILES, true);
if (!headerFiles.Empty())
Log::WriteRaw("\\page EventList Event list\n");
for (unsigned i = 0; i < headerFiles.Size(); ++i)
{
if (headerFiles[i].EndsWith("Events.h"))
{
SharedPtr<File> file(new File(context_, path + headerFiles[i], FILE_READ));
if (!file->IsOpen())
continue;
unsigned start = headerFiles[i].Find('/') + 1;
unsigned end = headerFiles[i].Find("Events.h");
Log::WriteRaw("\n## %" + headerFiles[i].Substring(start, end - start) + " events\n");
while (!file->IsEof())
{
String line = file->ReadLine();
if (line.StartsWith("EVENT"))
{
Vector<String> parts = line.Split(',');
if (parts.Size() == 2)
Log::WriteRaw("\n### " + parts[1].Substring(0, parts[1].Length() - 1).Trimmed() + "\n");
}
if (line.Contains("PARAM"))
{
Vector<String> parts = line.Split(',');
if (parts.Size() == 2)
{
String paramName = parts[1].Substring(0, parts[1].Find(')')).Trimmed();
String paramType = parts[1].Substring(parts[1].Find("// ") + 3);
if (!paramName.Empty() && !paramType.Empty())
Log::WriteRaw("- %" + paramName + " : " + paramType + "\n");
}
}
}
}
}
if (!headerFiles.Empty())
Log::WriteRaw("\n");
}
if (mode == DOXYGEN)
Log::WriteRaw("*/\n\n}\n");
}