|
@@ -48,7 +48,7 @@ class HierarchyFrame extends Atomic.UIWidget {
|
|
|
var node = ev.node;
|
|
var node = ev.node;
|
|
|
|
|
|
|
|
if (this.filterNode(node))
|
|
if (this.filterNode(node))
|
|
|
- return;
|
|
|
|
|
|
|
+ return;
|
|
|
|
|
|
|
|
if (!node.parent || node.scene != this.scene)
|
|
if (!node.parent || node.scene != this.scene)
|
|
|
return;
|
|
return;
|
|
@@ -66,7 +66,7 @@ class HierarchyFrame extends Atomic.UIWidget {
|
|
|
var node = ev.node;
|
|
var node = ev.node;
|
|
|
|
|
|
|
|
if (this.filterNode(node))
|
|
if (this.filterNode(node))
|
|
|
- return;
|
|
|
|
|
|
|
+ return;
|
|
|
|
|
|
|
|
delete this.nodeIDToItemID[node.id];
|
|
delete this.nodeIDToItemID[node.id];
|
|
|
|
|
|
|
@@ -104,45 +104,16 @@ class HierarchyFrame extends Atomic.UIWidget {
|
|
|
|
|
|
|
|
handleWidgetEvent(data: Atomic.UIWidgetEvent): boolean {
|
|
handleWidgetEvent(data: Atomic.UIWidgetEvent): boolean {
|
|
|
|
|
|
|
|
- if (data.type == Atomic.UI_EVENT_TYPE_CLICK) {
|
|
|
|
|
-
|
|
|
|
|
- var id = data.target.id;
|
|
|
|
|
-
|
|
|
|
|
- if (this.menu.handlePopupMenu(data.target, data.refid))
|
|
|
|
|
- return true;
|
|
|
|
|
-
|
|
|
|
|
- if (id == "create popup") {
|
|
|
|
|
-
|
|
|
|
|
- if (data.refid == "create_node") {
|
|
|
|
|
|
|
+ if (data.type == Atomic.UI_EVENT_TYPE_POINTER_DOWN) {
|
|
|
|
|
|
|
|
- var selectedId = Number(this.hierList.rootList.selectedItemID);
|
|
|
|
|
- var node = this.scene.getNode(selectedId);
|
|
|
|
|
- node.createChild("Node");
|
|
|
|
|
|
|
+ if (data.target == this.hierList.rootList) {
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // create
|
|
|
|
|
- if (id == "menu create") {
|
|
|
|
|
-
|
|
|
|
|
- var src = MenuItemSources.getMenuItemSource("hierarchy create items");
|
|
|
|
|
- var menu = new Atomic.UIMenuWindow(data.target, "create popup");
|
|
|
|
|
- menu.show(src);
|
|
|
|
|
- return true;
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- if (id == "hierList_") {
|
|
|
|
|
-
|
|
|
|
|
- var list = <Atomic.UISelectList> data.target;
|
|
|
|
|
-
|
|
|
|
|
- var selectedId = Number(list.selectedItemID);
|
|
|
|
|
- var node = this.scene.getNode(selectedId);
|
|
|
|
|
|
|
+ var node = this.scene.getNode(Number(data.refid));
|
|
|
|
|
|
|
|
if (node) {
|
|
if (node) {
|
|
|
|
|
|
|
|
|
|
+ console.log("Pointer Down: ", node.name);
|
|
|
|
|
+
|
|
|
// set the widget's drag object
|
|
// set the widget's drag object
|
|
|
var dragObject = new Atomic.UIDragObject(node, node.name.length ? "Node: " + node.name : "Node: (Anonymous)");
|
|
var dragObject = new Atomic.UIDragObject(node, node.name.length ? "Node: " + node.name : "Node: (Anonymous)");
|
|
|
this.hierList.rootList.dragObject = dragObject;
|
|
this.hierList.rootList.dragObject = dragObject;
|
|
@@ -151,6 +122,9 @@ class HierarchyFrame extends Atomic.UIWidget {
|
|
|
this.subscribeToEvent(dragObject, "DragEnded", (ev: Atomic.DragEndedEvent) => {
|
|
this.subscribeToEvent(dragObject, "DragEnded", (ev: Atomic.DragEndedEvent) => {
|
|
|
|
|
|
|
|
var dragNode = <Atomic.Node> ev.dragObject.object;
|
|
var dragNode = <Atomic.Node> ev.dragObject.object;
|
|
|
|
|
+
|
|
|
|
|
+ console.log("drop hover id: ", this.hierList.hoverItemID);
|
|
|
|
|
+
|
|
|
var dropNode: Atomic.Node = this.scene.getNode(Number(this.hierList.hoverItemID));
|
|
var dropNode: Atomic.Node = this.scene.getNode(Number(this.hierList.hoverItemID));
|
|
|
|
|
|
|
|
if (!dropNode) {
|
|
if (!dropNode) {
|
|
@@ -180,6 +154,52 @@ class HierarchyFrame extends Atomic.UIWidget {
|
|
|
|
|
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (data.type == Atomic.UI_EVENT_TYPE_CLICK) {
|
|
|
|
|
+
|
|
|
|
|
+ var id = data.target.id;
|
|
|
|
|
+
|
|
|
|
|
+ if (this.menu.handlePopupMenu(data.target, data.refid))
|
|
|
|
|
+ return true;
|
|
|
|
|
+
|
|
|
|
|
+ if (id == "create popup") {
|
|
|
|
|
+
|
|
|
|
|
+ if (data.refid == "create_node") {
|
|
|
|
|
+
|
|
|
|
|
+ var selectedId = Number(this.hierList.rootList.selectedItemID);
|
|
|
|
|
+ var node = this.scene.getNode(selectedId);
|
|
|
|
|
+ node.createChild("Node");
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ // create
|
|
|
|
|
+ if (id == "menu create") {
|
|
|
|
|
+
|
|
|
|
|
+ var src = MenuItemSources.getMenuItemSource("hierarchy create items");
|
|
|
|
|
+ var menu = new Atomic.UIMenuWindow(data.target, "create popup");
|
|
|
|
|
+ menu.show(src);
|
|
|
|
|
+ return true;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ if (id == "hierList_") {
|
|
|
|
|
+
|
|
|
|
|
+ var list = <Atomic.UISelectList> data.target;
|
|
|
|
|
+
|
|
|
|
|
+ var selectedId = Number(list.selectedItemID);
|
|
|
|
|
+ var node = this.scene.getNode(selectedId);
|
|
|
|
|
+
|
|
|
|
|
+ if (node) {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
this.sendEvent("EditorActiveNodeChange", { node: node });
|
|
this.sendEvent("EditorActiveNodeChange", { node: node });
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -205,7 +225,7 @@ class HierarchyFrame extends Atomic.UIWidget {
|
|
|
recursiveAddNode(parentID: number, node: Atomic.Node): number {
|
|
recursiveAddNode(parentID: number, node: Atomic.Node): number {
|
|
|
|
|
|
|
|
if (this.filterNode(node))
|
|
if (this.filterNode(node))
|
|
|
- return;
|
|
|
|
|
|
|
+ return;
|
|
|
|
|
|
|
|
var name = node.name;
|
|
var name = node.name;
|
|
|
|
|
|