Browse Source

Moving editor events to native events in the c++

Shaddock Heath 9 years ago
parent
commit
e705e058fa

+ 81 - 1
Source/AtomicEditor/EditorMode/AEEditorEvents.h

@@ -76,7 +76,6 @@ ATOMIC_EVENT(E_EDITORRESOURCEEDITORCHANGED, EditorResourceEditorChanged)
     ATOMIC_PARAM(P_RESOURCEEDITOR, ResourceEditor); // ResourceEditor*
 }
 
-
 // emitted once play has started
 ATOMIC_EVENT(E_EDITORPLAYERSTARTED, EditorPlayerStarted)
 {
@@ -126,6 +125,10 @@ ATOMIC_EVENT(E_EDITORACTIVESCENEEDITORCHANGE, EditorActiveSceneEditorChange)
     ATOMIC_PARAM(P_SCENEEDITOR, SceneEditor);  // SceneEditor3D pointer
 }
 
+ATOMIC_EVENT(E_EDITORSCENECLOSED, EditorSceneClosed)
+{
+    ATOMIC_PARAM(P_SCENE, Scene); // Scene pointer
+}
 
 ATOMIC_EVENT(E_PLAYERERROR, PlayerError)
 {
@@ -168,4 +171,81 @@ ATOMIC_EVENT(E_EDITORSHUTDOWN, EditorShutdown)
 
 }
 
+ATOMIC_EVENT(E_EDITORLOADPROJECT, EditorLoadProject)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+ATOMIC_EVENT(E_CONTENTFOLDERCHANGED, ContentFolderChanged)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+ATOMIC_EVENT(E_EDITORCLOSEPROJECT, EditorCloseProject)
+{
+
+}
+
+ATOMIC_EVENT(E_EDITORPROJECTCLOSED, EditorProjectClosed)
+{
+
+}
+
+ATOMIC_EVENT(E_EDITORSAVEALLRESOURCES, EditorSaveAllResources)
+{
+
+}
+
+ATOMIC_EVENT(E_EDITORSAVERESOURCE, EditorSaveResource)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+// Called once the resource has been saved
+ATOMIC_EVENT(E_EDITORSAVERESOURCENOTIFICATION, EditorSaveResourceNotification)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+ATOMIC_EVENT(E_EDITOREDITRESOURCE, EditorEditResource)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+ATOMIC_EVENT(E_EDITORDELETERESOURCE, EditorDeleteResource)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+// Called once the resource has been deleted
+ATOMIC_EVENT(E_EDITORDELETERESOURCENOTIFICATION, EditorDeleteResourceNotification)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string
+}
+
+// Called when a resource has been renamed
+ATOMIC_EVENT(E_EDITORRENAMERESOURCENOTIFICATION, EditorRenameResourceNotification)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string (full path of the old resource)
+    ATOMIC_PARAM(P_NEWPATH, NewPath);   // string (full path of the new resource)
+    ATOMIC_PARAM(P_NEWNAME, NewName);    // string (new name of resource)
+    ATOMIC_PARAM(P_ASSET, Asset);       // Asset pointer
+}
+
+ATOMIC_EVENT(E_USERPREFERENCESCHANGEDNOTIFICATION, UserPreferencesChangedNotification)
+{
+   ATOMIC_PARAM(P_PROJECTPREFERENCES, ProjectPreferences);  // string (JSON object)
+   ATOMIC_PARAM(P_APPLICATIONPREFERENCES, ApplicationPreferences);        // string (JSON object)
+}
+
+ATOMIC_EVENT(E_INSPECTORPROJECTREFERENCE, InspectorProjectReference)
+{
+    ATOMIC_PARAM(P_PATH, Path);     // string (Full path of the resource to edit)
+}
+
+ATOMIC_EVENT(E_ATTRIBUTEEDITRESOURCECHANGED, AttributeEditResourceChanged)
+{
+    ATOMIC_PARAM(P_RESOURCE, Resource); // Resource pointer
+}
+
 }

+ 1 - 1
Source/AtomicEditor/Editors/SceneEditor3D/SceneEditor3DEvents.h

@@ -185,7 +185,7 @@ ATOMIC_EVENT(E_COLORCHOOSERCHANGED, ColorChooserChanged)
 
 ATOMIC_EVENT(E_SELECTIONCREATECOMPONENT, SelectionCreateComponent)
 {
-    ATOMIC_PARAM(P_COMPONENTTYPENAME, ComponentTypeName);
+    ATOMIC_PARAM(P_COMPONENTTYPENAME, ComponentTypeName);   // string
 }
 
 

+ 10 - 5
Source/ToolCore/JSBind/JSBTypeScript.cpp

@@ -387,6 +387,12 @@ void JSBTypeScript::ExportModuleEvents(JSBModule* module)
         JSBEvent* event = events[i];
         String scriptEventName = event->GetScriptEventName(BINDINGLANGUAGE_JAVASCRIPT);
 
+        // Write the event type
+        source += ToString("    /** Event type to use in calls requiring the event such as 'sendEvent'.  Event Type is: \"%s\" **/\n", event->GetEventName().CString());
+        source += ToString("    export var %sType : string;\n\n", scriptEventName.CString());
+
+        // Write the event interface
+        source += ToString("    /** object returned in the callback for the %s event.**/\n", event->GetEventName().CString());
         source += ToString("    export interface %s extends Atomic.NativeEvent {\n", scriptEventName.CString());
 
         // parameters
@@ -419,7 +425,7 @@ void JSBTypeScript::ExportModuleEvents(JSBModule* module)
 
             bool mapped = false;
 
-            if (typeName == "int" || typeName == "float" || typeName == "unsigned" || typeName == "uint")
+            if (typeName == "int" || typeName == "float" || typeName == "unsigned" || typeName == "uint" || typeName == "double")
             {
                 typeName = "number";
                 mapped = true;
@@ -444,16 +450,15 @@ void JSBTypeScript::ExportModuleEvents(JSBModule* module)
                 source += ToString("        %s : %s;\n", paramName.CString(), typeName.CString());
             } else {
                 source += ToString("        // Unmapped Native Type:%s \n", typeName.CString());
-                source += ToString("        // %s : any;\n", p.paramName_.ToLower().CString());
+                source += ToString("        %s : any;\n", p.paramName_.ToLower().CString());
             }
         }
 
         source += "    }\n\n";
 
-        // Write the event name
-        source += ToString("    export var %sName : string;\n", scriptEventName.CString());
         // Write the event function signature
-        source += ToString("    export function %s (callback : Atomic.EventCallback<%s>) : Atomic.EventMetaData;\n\n", scriptEventName.CString(), scriptEventName.CString());
+        source += ToString("    /** Wrapper function to generate a properly formatted event handler to pass to 'subscribeToEvent' for the %s event. **/\n", event->GetEventName().CString());
+        source += ToString("    export function %s (callback : Atomic.EventCallback<%s>) : Atomic.EventMetaData;\n", scriptEventName.CString(), scriptEventName.CString());
 
         source += "\n\n";
 

+ 1 - 1
Source/ToolCore/JSBind/JavaScript/JSModuleWriter.cpp

@@ -275,7 +275,7 @@ void JSModuleWriter::WriteModulePreInit(String& source)
     for (unsigned i = 0; i < events.Size(); i++)
     {
         source.AppendWithFormat("duk_push_string(ctx, \"%s\");\n", events[i]->GetEventName().CString());
-        source.AppendWithFormat("duk_put_prop_string(ctx, -2, \"%sName\");\n", events[i]->GetScriptEventName(BINDINGLANGUAGE_JAVASCRIPT).CString());
+        source.AppendWithFormat("duk_put_prop_string(ctx, -2, \"%sType\");\n", events[i]->GetScriptEventName(BINDINGLANGUAGE_JAVASCRIPT).CString());
 
         source.AppendWithFormat("js_define_native_event(ctx, \"%s\", \"%s\");\n", events[i]->GetEventName().CString(), events[i]->GetScriptEventName(BINDINGLANGUAGE_JAVASCRIPT).CString());
     }