public InspectorTab(Context context, string title, Vector2?initialSize = null, string placeNextToDock = null, DockSlot slot = DockSlot.SlotNone) : base(context, title, initialSize, placeNextToDock, slot) { _inspector = new AttributeInspector(Context); SubscribeToEvent <InspectItem>(OnInspect); }
public SceneTab(Context context, string title, Vector2?initialSize = null, string placeNextToDock = null, DockSlot slot = DockSlot.SlotNone) : base(context, title, initialSize, placeNextToDock, slot) { _iconCache = GetSubsystem <IconCache>(); WindowFlags = WindowFlags.NoScrollbar; _view = new SceneView(Context); _gizmo = new Gizmo(Context); _view.Scene.LoadXml(Cache.GetResource <XMLFile>("Scenes/SceneLoadExample.xml").GetRoot()); CreateObjects(); SubscribeToEvent <Update>(OnUpdate); SubscribeToEvent <PostUpdate>(args => RenderNodeContextMenu()); SubscribeToEvent <GizmoSelectionChanged>(args => { _selectedComponent = null; }); _eventArgs.Clear(); _eventArgs[InspectHierarchy.HierarchyProvider] = Variant.FromObject(this); SendEvent <InspectHierarchy>(_eventArgs); }
public bool dock(Dock dock, DockSlot dockSlot, float size = 0, bool active = false) { return(dockWith(dock, null, dockSlot, size, active)); }
public bool dockWith(Dock dock, Dock dockTo, DockSlot dockSlot, float size = 0, bool active = false) { if (dock == null) { return(false); } Container currentContainer = m_container; if (dockTo != null) { if (dockSlot == DockSlot.Tab) { dockTo.container.activeDock = active ? dock : currentContainer.splits[0].activeDock != null ? currentContainer.splits[0].activeDock : dock; dockTo.container.docks.Add(dock); dock.container = dockTo.container; return(true); } else { m_containers.Add(new Container { }); var newContainer = m_containers[m_containers.Count - 1]; newContainer.parent = dockTo.container.parent; newContainer.splits[0] = dockTo.container; newContainer.size = dockTo.container.size; //if (size) // newContainer.alwaysAutoResize = false; dockTo.container.size = 0; if (dockTo.container.parent.splits[0] == dockTo.container) { dockTo.container.parent.splits[0] = newContainer; } else { dockTo.container.parent.splits[1] = newContainer; } //dockTo.container.parent = newContainer; dockTo.container = newContainer.splits[0]; dockTo.container.parent = newContainer; currentContainer = newContainer; } } Container childContainer = null; if (currentContainer.splits[0] == null || currentContainer.splits[1] == null) { m_containers.Add(new Container { }); childContainer = m_containers[m_containers.Count - 1]; } ; if (currentContainer.splits[0] == null) { currentContainer.splits[0] = childContainer; currentContainer.splits[0].activeDock = active ? dock : currentContainer.splits[0].activeDock != null ? currentContainer.splits[0].activeDock : dock; currentContainer.splits[0].docks.Add(dock); currentContainer.splits[0].parent = currentContainer; currentContainer.splits[0].size = size < 0 ? size * -1 : size; dock.container = currentContainer.splits[0]; dock.container.parent = currentContainer; } else if (currentContainer.splits[1] == null) { currentContainer.splits[1] = childContainer; Container otherSplit = currentContainer.splits[0]; if (size > 0) { currentContainer.splits[0].alwaysAutoResize = true; currentContainer.splits[0].size = 0; currentContainer.splits[1].size = size; currentContainer.splits[1].alwaysAutoResize = false; } else if (size == 0) { } else { currentContainer.splits[0].alwaysAutoResize = false; currentContainer.splits[0].size = size * -1; currentContainer.splits[1].size = 0; currentContainer.splits[1].alwaysAutoResize = true; } switch (dockSlot) { case DockSlot.Left: currentContainer.splits[1] = currentContainer.splits[0]; currentContainer.splits[0] = childContainer; currentContainer.verticalSplit = true; break; case DockSlot.Right: currentContainer.verticalSplit = true; break; case DockSlot.Top: currentContainer.splits[1] = currentContainer.splits[0]; currentContainer.splits[0] = childContainer; currentContainer.verticalSplit = false; break; case DockSlot.Bottom: currentContainer.verticalSplit = false; break; case DockSlot.Tab: currentContainer.verticalSplit = false; break; case DockSlot.None: break; default: break; } childContainer.activeDock = active ? dock : childContainer.activeDock != null ? childContainer.activeDock : dock; childContainer.docks.Add(dock); childContainer.parent = currentContainer; // if (childContainer.parent != null && currentContainer.verticalSplit != childContainer.parent.verticalSplit) // currentContainer.size = otherSplit.size != 0 ? otherSplit.size + otherSplit.size : otherSplit.size; dock.container = childContainer; } else { return(false); } return(true); }
public HierarchyTab(Context context, string title, Vector2?initialSize = null, string placeNextToDock = null, DockSlot slot = DockSlot.SlotNone) : base(context, title, initialSize, placeNextToDock, slot) { SubscribeToEvent <InspectHierarchy>(OnInspect); }
public ConsoleTab(Context context, string title, Vector2?initialSize = null, string placeNextToDock = null, DockSlot slot = DockSlot.SlotNone) : base(context, title, initialSize, placeNextToDock, slot) { _console = Engine.CreateConsole(); _console.IsAutoVisibleOnError = false; }
public ResourcesTab(Context context, string title, Vector2?initialSize = null, string placeNextToDock = null, DockSlot slot = DockSlot.SlotNone) : base(context, title, initialSize, placeNextToDock, slot) { }