private void MenuButton_Click(object sender, EventArgs e) { //Prepare IMenuButton <MapFile, IndexEntry, Xbox> menuItem = null; IContextMenuItem <MapFile, IndexEntry, Xbox> contextMenuItem = null; //Get Sender if (sender is ToolStripItem) { //Get ToolStripItem Sender = (ToolStripItem)sender; if (Sender.Tag is IMenuButton <MapFile, IndexEntry, Xbox> ) { menuItem = (IMenuButton <MapFile, IndexEntry, Xbox>)Sender.Tag; } if (Sender.Tag is IContextMenuItem <MapFile, IndexEntry, Xbox> ) { contextMenuItem = (IContextMenuItem <MapFile, IndexEntry, Xbox>)Sender.Tag; } } //Click menuItem?.OnClick(); contextMenuItem?.OnClick(); }
//! //! click on camera look through //! @param button button sent the request //! private void lookThroughCamera(IMenuButton button) { centerMenu.animateActive(((Button)button).gameObject); if (button.Toggled) { Transform currentSelectedTransform = mainController.getCurrentSelection(); Camera.main.transform.position = currentSelectedTransform.position; //Camera.main.transform.parent.position = currentSelectedTransform.position; mainController.cameraAdapter.setTargetRotation(currentSelectedTransform.rotation);// * Quaternion.Inverse(Camera.main.transform.rotation); //Camera.main.transform.parent.rotation = Quaternion.Euler(Camera.main.transform.parent.rotation.eulerAngles.x,Camera.main.transform.parent.rotation.eulerAngles.y,0); mainController.cameraAdapter.Fov = currentSelectedTransform.GetComponent <SceneObjectCamera>().fov; if (!mainController.getCurrentSelection().GetComponent <SceneObject>().locked) { mainController.ConnectRangeSlider(mainController.setCamParamFocalLength, Extensions.vFovToLens(currentSelectedTransform.GetComponent <SceneObjectCamera>().fov)); } } else { //trackingController.resetTargetRotation(); hideRangeSlider(); } mainController.buttonLookThroughCamClicked(button.Toggled); }
private void editPointToMove(IMenuButton button) { parameterMenu.reset(); button.Toggled = true; mainController.togglePointToMove(button.Toggled); UI.OnUIChanged.Invoke(); }
private void editLinkToCamera(IMenuButton button) { parameterMenu.reset(); button.Toggled = true; mainController.toggleObjectLinkCamera(button.Toggled); UI.OnUIChanged.Invoke(); }
private void editPointToMove(IMenuButton button) { parameterMenu.reset(); pointToMoveActive = !pointToMoveActive; button.Toggled = pointToMoveActive; mainController.togglePointToMove(pointToMoveActive); UI.OnUIChanged.Invoke(); }
private void editLinkToCamera(IMenuButton button) { parameterMenu.reset(); linkToCameraActive = !linkToCameraActive; button.Toggled = linkToCameraActive; mainController.toggleObjectLinkCamera(linkToCameraActive); UI.OnUIChanged.Invoke(); }
private void editLightIntensity(IMenuButton button) { centerMenu.animateActive(((Button)button).gameObject); mainController.buttonLightIntensityClicked(button.Toggled); //lightSettingsWidget.setSliderType(LightSettingsWidget.SliderType.INTENSITY); //mainController.toogleLightEditing(); }
// Center // // private void editTranslation(IMenuButton button) { // make toggle buttons using secondary menu switch of OnSecondaryMenuVisibility.Invoke(false); centerMenu.animateActive(((Button)button).gameObject); mainController.buttonTranslationClicked(button.Toggled); }
public IMenu AddButton(string text, Action <IMenuButton> onClick, out IMenuButton control) { var item = new MenuButton(text); item.OnChange = (v) => onClick(item); _items.Add(item); control = item; return(this); }
public void addButtonToLayout(IMenuButton newButton, layouts layout) { if (!layoutDict.ContainsKey(layout)) { layoutDict.Add(layout, new List <GameObject>()); } layoutDict[layout].Add(((Button)newButton).gameObject); }
//! //! adds a button to the menu //! @param active image displayed when button is active //! @param toggle indicate if this is a toggle button //! public void addButton(IMenuButton newButton, layouts layout = layouts.DEFAULT) { GameObject newButtonObj = ((Button)newButton).gameObject; buttons.Add(newButtonObj); newButtonObj.transform.SetParent(this.transform, false); newButtonObj.SetActive(false); addObjectToLayout(newButtonObj, layout); newButton.Menu = this; }
public bool Equals(IMenuButton other) { var item = other as iFactr.UI.MenuButton; if (item != null) { return(item.Equals(this)); } return(base.Equals(other)); }
private void cameraFov(IMenuButton button) { if (button.Toggled) { mainController.ConnectRangeSlider(mainController.setCamParamFov, Camera.main.fieldOfView.vFovToLens()); } else { hideRangeSlider(); } }
private void triggerMocap(IMenuButton button) { if (button.Toggled) { mainController.buttonAnimatorCmdClicked(1); //play } else { mainController.buttonAnimatorCmdClicked(2); // stop } }
/// <summary> /// Determines whether the specified <see cref="iFactr.UI.IMenuButton"/> is equal to this instance. /// </summary> /// <param name="other">The <see cref="iFactr.UI.IMenuButton"/> to compare with this instance.</param> /// <returns><c>true</c> if the specified <see cref="iFactr.UI.IMenuButton"/> is equal to this instance; /// otherwise, <c>false</c>.</returns> public bool Equals(IMenuButton other) { MenuButton item = other as MenuButton; if (item != null) { return(Pair == item.Pair); } return(Pair == other); }
private void Factory_InitializeMenuButton(AddOnFactory factory, string assemblyName, string typeFullName, IHost host) { //Create IMenuButton <TMap, TEntry, TXbox> menuButton = factory.CreateInstance <IMenuButton <TMap, TEntry, TXbox> >(assemblyName, typeFullName); menuButton.Initialize(host); //Add addOns.Add(menuButton); haloAddOns.Add(menuButton); xboxAddOns.Add(menuButton); menuButtons.Add(menuButton); }
private void animationLayerToggleCurrentObject(IMenuButton button, SubMenu subMenu, int layerIdx) { if (button.Toggled) { print("Add " + mainController.getCurrentSelection().gameObject + " to animation layer " + layerIdx); animationController.addSelectedObjectToLayer(layerIdx); } else { print("Remove " + mainController.getCurrentSelection().gameObject + " from animation layer " + layerIdx); animationController.removeSelectedObjectFromLayer(layerIdx); } }
private void setupParameterMenu() { // transform IMenuButton buttonTransX = Elements.MenuButtonToggle(); buttonTransX.AddAction(EditMode_AxisX_sel, EditMode_AxisX_nrm, () => parameterButtonHandle(buttonTransX, 0)); IMenuButton buttonTransY = Elements.MenuButtonToggle(); buttonTransY.AddAction(EditMode_AxisY_sel, EditMode_AxisY_nrm, () => parameterButtonHandle(buttonTransY, 1)); IMenuButton buttonTransZ = Elements.MenuButtonToggle(); buttonTransZ.AddAction(EditMode_AxisZ_sel, EditMode_AxisZ_nrm, () => parameterButtonHandle(buttonTransZ, 2)); // light settings IMenuButton buttonLightIntensity = Elements.MenuButtonToggle(); buttonLightIntensity.AddAction(EditMode_LightIntensity_sel, EditMode_LightIntensity_nrm, () => parameterButtonHandle(buttonLightIntensity, 0)); IMenuButton buttonLightRange = Elements.MenuButtonToggle(); buttonLightRange.AddAction(ScoutMode_FocalLength_sel, ScoutMode_FocalLength_nrm, () => parameterButtonHandle(buttonLightRange, 1)); IMenuButton buttonLightAngle = Elements.MenuButtonToggle(); buttonLightAngle.AddAction(EditMode_LightConeAngle_sel, EditMode_LightConeAngle_nrm, () => parameterButtonHandle(buttonLightAngle, 2)); // attach to cam IMenuButton buttonAttachCam = Elements.MenuButtonToggle(); buttonAttachCam.AddAction(EditMode_TranslateAttachToCam_sel, EditMode_TranslateAttachToCam_nrm, () => editLinkToCamera(buttonAttachCam)); // UI.OnUIChanged.AddListener(() => { buttonAttachCam.Toggled = (mainController.ActiveMode == MainController.Mode.objectLinkCamera); }); // register ui changes // click to move IMenuButton buttonClickMove = Elements.MenuButtonToggle(); buttonClickMove.AddAction(EditMode_TranslateClickToMove_sel, EditMode_TranslateClickToMove_nrm, () => editPointToMove(buttonClickMove)); // UI.OnUIChanged.AddListener(() => { buttonClickMove.Toggled = (mainController.ActiveMode == MainController.Mode.pointToMoveMode); }); // register ui changes // TODO: add range // add buttons parameterMenu.DirToExpand = SubMenu.direction.BOTTOM; parameterMenu.addButton(buttonTransX, layouts.TRANSFORM); parameterMenu.addButton(buttonTransY, layouts.TRANSFORM); parameterMenu.addButton(buttonTransZ, layouts.TRANSFORM); parameterMenu.addButton(buttonTransX, layouts.TRANSLATION); parameterMenu.addButton(buttonTransY, layouts.TRANSLATION); parameterMenu.addButton(buttonTransZ, layouts.TRANSLATION); parameterMenu.addButton(buttonAttachCam, layouts.TRANSLATION); parameterMenu.addButton(buttonClickMove, layouts.TRANSLATION); parameterMenu.addButton(buttonLightIntensity, layouts.LIGHTDIR); parameterMenu.addButtonToLayout(buttonLightIntensity, layouts.LIGHTPOINT); parameterMenu.addButton(buttonLightRange, layouts.LIGHTPOINT); parameterMenu.addButtonToLayout(buttonLightIntensity, layouts.LIGHTSPOT); parameterMenu.addButtonToLayout(buttonLightRange, layouts.LIGHTSPOT); parameterMenu.addButton(buttonLightAngle, layouts.LIGHTSPOT); }
private void animationAddCueMenu(IMenuButton button) { GameObject obj = ((Button)button).gameObject; SubMenu subMenu = ((Button)button).gameObject.GetComponent <SubMenu>(); SceneObject sceneObject = mainController.getCurrentSelection().GetComponent <SceneObject>(); if (subMenu == null) { subMenu = ((Button)button).gameObject.AddComponent <SubMenu>(); subMenu.DirToExpand = SubMenu.direction.RIGHT; GameObject buttonTextPrefab = Resources.Load <GameObject>("VPET/Prefabs/ButtonText"); // add animation layer buttons for (int i = 1; i < 4; ++i) { // add animation layer button int layerIndex = i - 1; vpet.IMenuButton animLayerButton = vpet.Elements.MenuButtonToggle(); // get toggle state animLayerButton.Toggled = sceneObject.animationLayer == layerIndex; animLayerButton.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => animationLayerToggleCurrentObject(animLayerButton, subMenu, layerIndex)); // subMenu.OnMenuOpen.AddListener( () => { print("Check for layer " + layerIndex); animLayerButton.Toggled = animationController.IsCurrentSelectionOnLayer(layerIndex); } ); UI.OnUIChanged.AddListener(() => { print("Check for layer " + layerIndex); animLayerButton.Toggled = animationController.IsCurrentSelectionOnLayer(layerIndex); }); subMenu.addButton(animLayerButton); // add animation layer id on top (text object) GameObject buttonTextObj = GameObject.Instantiate(buttonTextPrefab); GameObject buttonObj = ((Button)animLayerButton).gameObject; buttonObj.name = "CueAddButton_" + i.ToString(); buttonTextObj.transform.parent = buttonObj.transform; buttonTextObj.transform.localScale = new Vector3(1, 1, 1); buttonTextObj.transform.localPosition = new Vector3(0, 0, 0); Text text = buttonTextObj.GetComponent <Text>(); if (text != null) { text.text = i.ToString(); } } } if (!subMenu.isOpen) { subMenu.show(); } else { subMenu.hide(); } }
private void editAnimation(IMenuButton button) { centerMenu.animateActive(((Button)button).gameObject); mainController.buttonAnimationEditClicked(button.Toggled); if (button.Toggled) { animationController.activate(); } else { animationController.deactivate(); } animationController.editingPosition = true; }
//! //! click on camera FOV //! @param button button sent the request //! private void cameraFOV(IMenuButton button) { centerMenu.animateActive(((Button)button).gameObject); if (button.Toggled) { mainController.ConnectRangeSlider(mainController.setCamParamFocalLength, Extensions.vFovToLens(mainController.getCurrentSelection().GetComponent <SceneObjectCamera>().fov)); } else { hideRangeSlider(); } mainController.buttonCamFOVClicked(button.Toggled); }
public void Add(IMenuButton menuButton) { if (menuButton != null) { menuButtons.Add(menuButton); AddButton(menuButton.Title); var handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs("ButtonCount")); } } }
//! //! Sets up all buttons for the main menu. //! private void setupMainMenu() { // views IMenuButton buttonPers = Elements.MenuButtonToggle(); buttonPers.AddAction(GeneralMenu_Perspective_sel, GeneralMenu_Perspective_nrm, () => togglePerspectives()); UI.OnUIChanged.AddListener(() => { buttonPers.Toggled = (secondaryMenu.currentLayout == layouts.PERSPECTIVES); }); // register for ui changes mainMenu.addButton(buttonPers); // info button // // modes IMenuButton buttonModes = Elements.MenuButtonList(); buttonModes.AddAction(ModeMenu_EditMode_sel, ModeMenu_EditMode_nrm, () => changeMode(layouts.EDIT)); buttonModes.AddAction(ModeMenu_AnimationMode_sel, ModeMenu_AnimationMode_nrm, () => changeMode(layouts.ANIMATION)); // anim buttonModes.AddAction(ModeMenu_ScoutMode_sel, ModeMenu_ScoutMode_nrm, () => changeMode(layouts.SCOUT)); //scout mainMenu.addButton(buttonModes); // gyro toggle IMenuButton buttonGyro = Elements.MenuButtonToggle(); buttonGyro.AddAction(GeneralMenu_Gyro_sel, GeneralMenu_Gyro_nrm, () => mainController.toggleCameraRotation()); // for toggle buttonGyro.AddHoldAction(() => mainController.resetCameraOffset()); mainMenu.addButton(buttonGyro); // config IMenuButton buttonConfig = Elements.MenuButtonToggle(); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => drawConfigWidget()); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => hideConfigWidget()); // untoggle action UI.OnUIChanged.AddListener(() => { buttonConfig.Toggled = (configWidget.gameObject.activeSelf == true); }); // register for ui changes mainMenu.addButton(buttonConfig); mainMenu.addButtonToLayout(buttonConfig, layouts.SPLASH); //help IMenuButton buttonHelp = Elements.MenuButton(); buttonHelp.AddAction(GeneralMenu_Help_sel, GeneralMenu_Help_nrm, call: () => openHelp()); // switch off mainMenu.addButton(buttonHelp); mainMenu.addButtonToLayout(buttonHelp, layouts.SPLASH); // quit IMenuButton buttonQuit = Elements.MenuButton(); buttonQuit.AddAction(GeneralMenu_OnOff_sel, GeneralMenu_OnOff_nrm, call: () => quitApplication()); // switch off mainMenu.addButton(buttonQuit); mainMenu.addButtonToLayout(buttonQuit, layouts.SPLASH); // set splash layout mainMenu.switchLayout(layouts.SPLASH); }
public void Add(IMenuButton menuItem) { if (menuItem != null) { _buttons.Add(menuItem); } var button = menuItem?.Pair as MenuButton ?? menuItem as MenuButton; if (button == null) { return; } button.ForegroundColor = ForegroundColor; }
public void Add(IMenuButton menuButton) { if (menuButton == null) { return; } menuButtons.Add(menuButton); var handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs("ButtonCount")); } }
public void Add(IMenuButton menuButton) { var button = WpfFactory.GetNativeObject <System.Windows.Controls.Button>(menuButton, "menuButton", false); if (button != null) { button.Click -= ClosePopup; button.Click += ClosePopup; button.Background = itemsControl.Background; button.Foreground = itemsControl.Foreground; var buttonBase = button as ButtonBase; if (buttonBase != null) { buttonBase.HighlightColor = HighlightColor; } itemsControl.Items.Add(button); } if (itemsControl.Items.Count != 1) { SetImage(imagePath); } else { if (!string.IsNullOrWhiteSpace(menuButton.ImagePath)) { SetImage(menuButton.ImagePath); } if (!HasImage) { Content = menuButton.Title; FontFamily = new System.Windows.Media.FontFamily("Segoe UI"); FontSize = 12; } } var handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs("ButtonCount")); } }
private void animationAddCueMenu(IMenuButton button) { GameObject obj = ((Button)button).gameObject; SubMenu subMenu = ((Button)button).gameObject.GetComponent <SubMenu>(); if (subMenu == null) { subMenu = ((Button)button).gameObject.AddComponent <SubMenu>(); subMenu.DirToExpand = SubMenu.direction.RIGHT; GameObject buttonTextPrefab = Resources.Load <GameObject>("VPET/Prefabs/ButtonText"); // add animation layer buttons for (int i = -1; i < 2; ++i) { // add animation layer button int layerIndex = i; vpet.IMenuButton animLayerButton = vpet.Elements.MenuButton(); animLayerButton.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => animationLayerAddCurrentObject(subMenu, layerIndex)); subMenu.addButton(animLayerButton); // add animation layer id on top (text object) GameObject buttonTextObj = GameObject.Instantiate(buttonTextPrefab); GameObject buttonObj = ((Button)animLayerButton).gameObject; buttonTextObj.transform.parent = buttonObj.transform; buttonTextObj.transform.localScale = new Vector3(1, 1, 1); buttonTextObj.transform.localPosition = new Vector3(0, 0, 0); Text text = buttonTextObj.GetComponent <Text>(); if (text != null && i >= 0) { text.text = i.ToString(); } } } if (!subMenu.isOpen) { subMenu.show(); } else { subMenu.hide(); } }
public void drawParameterMenu(layouts layout) { // reset parmater menu and set first button toggled parameterMenu.ActiveButton = null; parameterMenu.reset(); IMenuButton button = parameterMenu.GetButton(0); if (button != null) { button.Toggled = true; } parameterMenu.switchLayout(layout); float _adjustOddCount = (parameterMenu.ActiveButtonCount % 2) * UI.ButtonOffset / 2f; parameterMenu.offset = new Vector2(-VPETSettings.Instance.canvasHalfWidth + UI.ButtonOffset, parameterMenu.ActiveButtonCount * UI.ButtonOffset / 2f + _adjustOddCount); parameterMenu.show(); }
//! //! Sets up all buttons for the main menu. //! private void setupMainMenu() { // views IMenuButton buttonPers = Elements.MenuButtonToggle(); buttonPers.AddAction(GeneralMenu_Perspective_sel, GeneralMenu_Perspective_nrm, () => secondaryMenuSwitchLayout(layouts.PERSPECTIVES)); OnSecondaryMenuVisibility.AddListener(((MenuButtonToggle)buttonPers).setToggleState); // register changes mainMenu.addButton(buttonPers); // info button // // modes IMenuButton buttonModes = Elements.MenuButtonList(); buttonModes.AddAction(ModeMenu_EditMode_sel, ModeMenu_EditMode_nrm, () => changeMode(layouts.EDIT)); buttonModes.AddAction(ModeMenu_AnimationMode_sel, ModeMenu_AnimationMode_nrm, () => changeMode(layouts.ANIMATION)); // anim buttonModes.AddAction(ModeMenu_ScoutMode_sel, ModeMenu_ScoutMode_nrm, () => changeMode(layouts.SCOUT)); //scout mainMenu.addButton(buttonModes); // gyro toggle IMenuButton buttonGyro = Elements.MenuButtonToggle(); buttonGyro.AddAction(GeneralMenu_Gyro_sel, GeneralMenu_Gyro_nrm, () => mainController.toggleCameraRotation()); // for toggle buttonGyro.AddAction(GeneralMenu_Gyro_sel, GeneralMenu_Gyro_nrm, () => mainController.toggleCameraRotation()); // for untogle buttonGyro.AddHoldAction(() => mainController.resetCameraOffset()); mainMenu.addButton(buttonGyro); // config IMenuButton buttonConfig = Elements.MenuButtonToggle(); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => drawConfigWidget()); buttonConfig.AddAction(GeneralMenu_Settings_sel, GeneralMenu_Settings_nrm, () => hideConfigWidget()); // untoggle action configWidget.OnVisibilityChanged.AddListener(((MenuButtonToggle)buttonConfig).setToggleState); // register changes (connect to config widget visibility) mainMenu.addButton(buttonConfig); mainMenu.addButtonToLayout(buttonConfig, layouts.SPLASH); // quit IMenuButton buttonQuit = Elements.MenuButton(); buttonQuit.AddAction(GeneralMenu_OnOff_sel, GeneralMenu_OnOff_nrm, call: () => quitApplication()); // switch off mainMenu.addButton(buttonQuit); mainMenu.addButtonToLayout(buttonQuit, layouts.SPLASH); // set splash layout mainMenu.switchLayout(layouts.SPLASH); }
private void animationFireCueMenu(IMenuButton button) { GameObject obj = ((Button)button).gameObject; SubMenu subMenu = ((Button)button).gameObject.GetComponent <SubMenu>(); if (subMenu == null) { subMenu = ((Button)button).gameObject.AddComponent <SubMenu>(); subMenu.DirToExpand = SubMenu.direction.LEFT; subMenu.offset = new Vector2(UI.ButtonOffset, UI.ButtonOffset); GameObject buttonTextPrefab = Resources.Load <GameObject>("VPET/Prefabs/ButtonText"); // add animation layer buttons for (int i = 1; i < 4; ++i) { int layerIndex = i - 1; vpet.IMenuButton animLayerButton = vpet.Elements.MenuButton(); animLayerButton.AddAction(AnimationMode_CueFire_sel, AnimationMode_CueFire_nrm, () => mainController.AnimationController.playAnimationLayer(layerIndex)); subMenu.addButton(animLayerButton); GameObject buttonTextObj = GameObject.Instantiate(buttonTextPrefab); GameObject buttonObj = ((Button)animLayerButton).gameObject; buttonTextObj.transform.parent = buttonObj.transform; buttonTextObj.transform.localScale = new Vector3(1, 1, 1); buttonTextObj.transform.localPosition = new Vector3(0, 0, 0); Text text = buttonTextObj.GetComponent <Text>(); if (text != null) { text.text = i.ToString(); } } } if (!subMenu.isOpen) { subMenu.show(); } else { subMenu.hide(); } }