/// <summary> /// Create this dialog. /// </summary> public static DateTimeDialog Create(IModal owner, DateTime time, Vector2 position) { DateTimeDialog dialog = DateTimeDialog.CreateInstance <DateTimeDialog>(); float halfWidth = WIDTH / 2; float x = position.x - halfWidth; float y = position.y; Rect rect = new Rect(x, y, 0, 0); dialog.owner = owner; dialog.time = time; dialog.position = rect; dialog.titleContent.text = "Date Time"; DateTime month = new DateTime(1, 1, 1); for (int i = 0; i < 12; i++) { dialog.months[i] = month.ToString("MMMM"); month = month.AddMonths(1); } dialog.ShowAsDropDown(rect, new Vector2(WIDTH, HEIGHT)); return(dialog); }
public void OnEntityContextMenu(Entity ent) { if (ImGui.Selectable("Create prefab")) { _activeModal = new CreatePrefabModal(Universe, ent); } }
public IModal LoadModal(Type modalType) { IModal modal = Activator.CreateInstance(modalType) as IModal; modals.Add(modal); return(modal); }
public void hideActiveModal() { if (activeModal != null) { activeModal.hide(); } activeModal = null; }
internal static void Add(IModal modal) { _openedModals.Add(modal); Debug.WriteLine($"ModalsManager: Opened {modal.GetHashCode()}."); if (!isEventRegistered) { SystemNavigationManager.GetForCurrentView().BackRequested += ModalsManager_BackRequested; isEventRegistered = true; } }
//[MenuItem("Window/Toolbox %e")] static void InitToolbox() { if (Exist <Toolbox>()) { return; } IModal box = focusedWindow as IModal; if (box != null) { box.ModalRequest(false); } }
public void TestInitialize() { _scheduler = Substitute.For <IScheduler>(); _scheduler.Schedule(Arg.Any <Func <bool?> >()).Returns(c => c.Arg <Func <bool?> >()()); _windowManager = Substitute.For <IWindowManager>(); _modalWindows = Substitute.For <IModalWindows>(); _modal = Substitute.For <IModal>(); var builder = new ContainerBuilder(); builder.Register(c => new WrappedModal(_modal)).AsSelf().SingleInstance(); _container = builder.Build(); }
/// <summary> /// Create a toolbox for this IModal. /// </summary> public static Toolbox Create(IModal owner, string title, List <DescriptionPair> pairs, Vector2 position, string search) { Toolbox toolbox = Toolbox.CreateInstance <Toolbox>(); toolbox.search = search; toolbox.view = new TreeView(); toolbox.view.visibility = toolbox.IsItemVisible; toolbox.view.AlwaysSelect = true; toolbox.view.CanDrag = false; toolbox.view.CanDrop = false; toolbox.view.CanDropOnSelf = false; toolbox.view.CanMultiSelect = false; toolbox.view.HiddenCanBeSelected = false; toolbox.view.SelectionDoubleClicked += toolbox.OnDoubleClick; toolbox.owner = owner; toolbox.titleContent.text = title; for (int i = 0; i < pairs.Count; i++) { if (pairs[i].Value == null) { continue; } if (pairs[i].Description != null) { toolbox.AddItem(pairs[i].Value, pairs[i].Description.Name, pairs[i].Description.Comment, pairs[i].Description.Icon); } else { toolbox.AddItem(pairs[i].Value, pairs[i].ToString(), "", null); } } toolbox.view.Sort(); toolbox.view.BuildVisibility(); float halfWidth = WIDTH / 2; float x = position.x - halfWidth; float y = position.y; Rect rect = new Rect(x, y, 0, 0); toolbox.position = rect; toolbox.ShowAsDropDown(rect, new Vector2(WIDTH, HEIGHT)); return(toolbox); }
public static GKToyMakerChapterInfo Create(IModal owner, Vector2 pos, float width, float height, string title, GKToyBaseOverlord overlord, GameObject obj) { instance = CreateInstance <GKToyMakerChapterInfo>(); instance._owner = owner; instance._title = title; instance.overlord = overlord; instance.obj = obj; Rect rect = new Rect(pos.x, pos.y, 0, 0); instance.position = rect; instance.ShowAsDropDown(rect, new Vector2(width, height + MARGIN)); return(instance); }
public bool displayModalIfExists(string modalName) { IModal modalToDisplay = requestModal(modalName); if (modalToDisplay == null) { return(false); } if (activeModal != null) { activeModal.hide(); } activeModal = modalToDisplay; activeModal.display(); return(true); }
private void modalSetup() { foreach (Modal m in modals) { if (modalLookup.ContainsKey(m.modalname)) { Debug.Log("There are two Modals with this name: " + m.modalname + ". The second one will be ignored"); continue; } GameObject go = Instantiate(m.modalprefab) as GameObject; go.transform.SetParent(transform, false); IModal modal = go.GetComponent <IModal>(); modal.modalObject = go; modalLookup.Add(m.modalname, modal); } }
void Start() { IModal modal = ModalManager.instance.requestModal(modalName); if (modal != null && feedbackText != null) { modal.ModifyModal(() => { feedbackText.text = "Canceled"; }, false); modal.ModifyModal("A Modal is a prefab whose Text & Title as well as it's behaviour to User Choices can be modified at Runtime", () => { feedbackText.text = "Accepted"; ModalManager.instance.hideActiveModal(); }, () => { feedbackText.text = "Refused"; ModalManager.instance.hideActiveModal(); }, false); } }
private Task <Page> GetPageFromModal(IModal modal) { switch (modal) { case BasicModal basicModal: return(Task.FromResult(SetBasicPage(basicModal))); case NavigationModal navigationModal: return(SetNavigationPageAsync(navigationModal)); case TabbedModal tabbedModal: return(SetTabbedModalAsync(tabbedModal, new BasicModal())); case MasterDetailModal masterDetailModal: return(SetMasterDetailModalAsync(masterDetailModal, new BasicModal())); default: throw new NavigationException("Navigation service doesn't support given modal"); } }
public static VisualBlockFileNameWindow Create(IModal owner, string title, string[] labels, string[] texts, Vector2 position) { VisualBlockFileNameWindow rename = VisualBlockFileNameWindow.CreateInstance <VisualBlockFileNameWindow>(); rename.owner = owner; rename.titleContent = new GUIContent(title); rename.labels = labels; rename.texts = texts; float halfWidth = WIDTH / 2; float x = position.x - halfWidth; float y = position.y; float height = HEIGHT + (labels.Length * FIELD_HEIGHT); Rect rect = new Rect(x, y, 0, 0); rename.position = rect; rename.ShowAsDropDown(rect, new Vector2(WIDTH, height)); return(rename); }
public async Task <bool> ChangeDetailAsync(IModal modal) { if (Application.Current.MainPage == null) { return(false); } var masterDetailPage = GetLastMasterDetailPage(null); if (masterDetailPage == null) { return(false); } //set detail switch (modal) { case NavigationModal navigationModal: var navigationPage = await SetNavigationPageAsync(navigationModal); masterDetailPage.Detail = navigationPage; return(true); case BasicModal basicModal: var basicPage = SetBasicPage(basicModal); masterDetailPage.Detail = basicPage; return(true); case TabbedModal tabbedModal: var tabbedPage = await SetTabbedModalAsync(tabbedModal, new MasterDetailModal()); masterDetailPage.Detail = tabbedPage; return(true); default: return(false); } }
public CreationDialog() { _modal = Modal.Get(WindowLocator); //Don't declare new variable }
public CreationDialog() { IModal _Modal = Modal.Get(WindowLocator); }
/// <summary> /// method to Initialize Navigation service in app class where we can write how we will begin app navigation /// </summary> /// <param name="modal"></param> /// <returns></returns> protected static void SetHomePage(IModal modal) { _navigationService = LocatorService.Instance.Resolve <INavigationService>(); _navigationService.SetMainModalAsync(modal).SafeFireAndForget(); }
public ModalTagHelper(IModal modal) { this.modal = modal; }
public static void Add(IModal modal) { Items.Add(modal); }
public WrappedModal(IModal modal) { _modal = modal; }
public void CloseModals() { modal = null; State.Focused = null; page.Children.RemoveAll(x => x.Component.Key == UiKeys.Modal.Key); }
/// <summary> /// Create a toolbox for this IModal. /// </summary> public static Toolbox Create(IModal owner, string title, List <DescriptionPair> pairs, Vector2 position) { return(Create(owner, title, pairs, position, "")); }
public async Task SetMainModalAsync(IModal modal) { var page = await GetPageFromModal(modal); Application.Current.MainPage = page; }
internal static void Remove(IModal modal) { _openedModals.Remove(modal); Debug.WriteLine($"ModalsManager: Closed {modal.GetHashCode()}."); }
public async Task PushModalAsync(IModal modal) { var page = await GetPageFromModal(modal); await InternalPushModalAsync(page); }
public void OnGUI(string[] initcmd) { // Docking setup //var vp = ImGui.GetMainViewport(); var wins = ImGui.GetWindowSize(); var winp = ImGui.GetWindowPos(); winp.Y += 20.0f; wins.Y -= 20.0f; ImGui.SetNextWindowPos(winp); ImGui.SetNextWindowSize(wins); ImGui.PushStyleVar(ImGuiStyleVar.WindowRounding, 0.0f); ImGui.PushStyleVar(ImGuiStyleVar.WindowBorderSize, 0.0f); ImGui.PushStyleVar(ImGuiStyleVar.WindowPadding, new Vector2(0.0f, 0.0f)); ImGui.PushStyleVar(ImGuiStyleVar.ChildBorderSize, 0.0f); ImGuiWindowFlags flags = ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoResize | ImGuiWindowFlags.NoMove; flags |= ImGuiWindowFlags.MenuBar | ImGuiWindowFlags.NoDocking; flags |= ImGuiWindowFlags.NoBringToFrontOnFocus | ImGuiWindowFlags.NoNavFocus; flags |= ImGuiWindowFlags.NoBackground; //ImGui.Begin("DockSpace_MapEdit", flags); ImGui.PopStyleVar(4); var dsid = ImGui.GetID("DockSpace_MapEdit"); ImGui.DockSpace(dsid, new Vector2(0, 0)); // Keyboard shortcuts if (EditorActionManager.CanUndo() && InputTracker.GetControlShortcut(Key.Z)) { EditorActionManager.UndoAction(); } if (EditorActionManager.CanRedo() && InputTracker.GetControlShortcut(Key.Y)) { EditorActionManager.RedoAction(); } if (!ViewportUsingKeyboard && !ImGui.GetIO().WantCaptureKeyboard) { if (InputTracker.GetControlShortcut(Key.D) && _selection.IsSelection()) { var action = new CloneMapObjectsAction(Universe, RenderScene, _selection.GetFilteredSelection <MapEntity>().ToList(), true); EditorActionManager.ExecuteAction(action); } if (InputTracker.GetKeyDown(Key.Delete) && _selection.IsSelection()) { var action = new DeleteMapObjectsAction(Universe, RenderScene, _selection.GetFilteredSelection <MapEntity>().ToList(), true); EditorActionManager.ExecuteAction(action); } if (InputTracker.GetKeyDown(Key.W)) { Gizmos.Mode = Gizmos.GizmosMode.Translate; } if (InputTracker.GetKeyDown(Key.E)) { Gizmos.Mode = Gizmos.GizmosMode.Rotate; } // Use home key to cycle between gizmos origin modes if (InputTracker.GetKeyDown(Key.Home)) { if (Gizmos.Origin == Gizmos.GizmosOrigin.World) { Gizmos.Origin = Gizmos.GizmosOrigin.BoundingBox; } else if (Gizmos.Origin == Gizmos.GizmosOrigin.BoundingBox) { Gizmos.Origin = Gizmos.GizmosOrigin.World; } } // F key frames the selection if (InputTracker.GetKeyDown(Key.F)) { var selected = _selection.GetFilteredSelection <Entity>(); bool first = false; BoundingBox box = new BoundingBox(); foreach (var s in selected) { if (s.RenderSceneMesh != null) { if (!first) { box = s.RenderSceneMesh.GetBounds(); first = true; } else { box = BoundingBox.Combine(box, s.RenderSceneMesh.GetBounds()); } } } if (first) { Viewport.FrameBox(box); } } // Render settings if (InputTracker.GetControlShortcut(Key.Number1)) { RenderScene.DrawFilter = Scene.RenderFilter.MapPiece | Scene.RenderFilter.Object | Scene.RenderFilter.Character | Scene.RenderFilter.Region; } else if (InputTracker.GetControlShortcut(Key.Number2)) { RenderScene.DrawFilter = Scene.RenderFilter.Collision | Scene.RenderFilter.Object | Scene.RenderFilter.Character | Scene.RenderFilter.Region; } else if (InputTracker.GetControlShortcut(Key.Number3)) { RenderScene.DrawFilter = Scene.RenderFilter.Collision | Scene.RenderFilter.Navmesh | Scene.RenderFilter.Object | Scene.RenderFilter.Character | Scene.RenderFilter.Region; } CFG.Current.LastSceneFilter = RenderScene.DrawFilter; } // Parse select commands string propSearchKey = null; if (initcmd != null && initcmd[0] == "propsearch") { if (initcmd.Length > 1) { propSearchKey = initcmd[1]; } } ImGui.SetNextWindowSize(new Vector2(300, 500), ImGuiCond.FirstUseEver); ImGui.SetNextWindowPos(new Vector2(20, 20), ImGuiCond.FirstUseEver); System.Numerics.Vector3 clear_color = new System.Numerics.Vector3(114f / 255f, 144f / 255f, 154f / 255f); //ImGui.Text($@"Viewport size: {Viewport.Width}x{Viewport.Height}"); //ImGui.Text(string.Format("Application average {0:F3} ms/frame ({1:F1} FPS)", 1000f / ImGui.GetIO().Framerate, ImGui.GetIO().Framerate)); Viewport.OnGui(); SceneTree.OnGui(); if (MapStudioNew.FirstFrame) { ImGui.SetNextWindowFocus(); } PropEditor.OnGui(_selection.GetSingleFilteredSelection <Entity>(), "mapeditprop", Viewport.Width, Viewport.Height); DispGroupEditor.OnGui(AssetLocator.Type); PropSearch.OnGui(propSearchKey); // Not usable yet //NavMeshEditor.OnGui(AssetLocator.Type); ResourceManager.OnGuiDrawTasks(Viewport.Width, Viewport.Height); ResourceManager.OnGuiDrawResourceList(); if (_activeModal != null) { if (_activeModal.IsClosed) { _activeModal.OpenModal(); } _activeModal.OnGui(); if (_activeModal.IsClosed) { _activeModal = null; } } }
public void ShowModal(IModal modal) { this.modal = modal; page.Children.Add(new Child(DockPosition.Center, modal.Component)); }
public void RemoveModal(IModal modal) { modals.Remove(modal); }