// User defined event handlers that are called when a Selection is made. // Reemplazado por Manejo de Eventos // GDZ //List<MemberFunctionSlot> mOnSelectUserEventHandlers = new List<MemberFunctionSlot>(); internal ComboBox(string name, Vector4 dimensions, QGuiMetricsMode positionMode, QGuiMetricsMode sizeMode, string material, OverlayContainer overlayContainer, Widget ParentWidget) : base(name, dimensions, positionMode, sizeMode, material, overlayContainer, ParentWidget) { mListItemHorizontalAlignment = GuiHorizontalAlignment.GHA_CENTER; mListItemVerticalAlignment = GuiVerticalAlignment.GVA_CENTER; mWidgetType = Widget.WidgetType.QGUI_TYPE_COMBOBOX; // Create CloseButton - remember to position it relative to it's parent (TitleBar) // Height of the Title Bar float height = (mAbsoluteDimensions.w / mAbsoluteDimensions.z); // Button has same height as width - Make the button slightly smaller that the titlebar height float buttonHeight = 0.8f; float buttonWidth = (height * buttonHeight); // Make a 5 pixel buffer float buffer = 5.0f / mPixelDimensions.z; Vector4 bDimensions = new Vector4((1 - (buttonWidth + buffer)), 0.1f, buttonWidth, buttonHeight); mButton = new Button(mInstanceName + ".button", bDimensions, QGuiMetricsMode.QGUI_GMM_RELATIVE, QGuiMetricsMode.QGUI_GMM_RELATIVE, mWidgetMaterial + ".button", mChildrenContainer, this); mButton.setZOrderOffset(1); _addChildWidget(mButton); // Make a 15 pixel buffer for the Label float bigBuffer = 15.0f / mPixelDimensions.z; mLabel = new Label(mInstanceName + ".Label", new Vector4(bigBuffer, 0, (1 - (buttonWidth + bigBuffer)), 1), QGuiMetricsMode.QGUI_GMM_RELATIVE, QGuiMetricsMode.QGUI_GMM_RELATIVE, "", mChildrenContainer, this); mLabel.OnDeactivate += new DeactivateEventHandler(ComboBox_OnDeactivate); //Reemplazado por Manejo de Eventos //GDZ //mLabel.addEventHandler((int)Widget.Event.QGUI_EVENT_DEACTIVATED, this); mLabel.setZOrderOffset(1); _addChildWidget(mLabel); mList = new List(mInstanceName + ".List", new Mogre.Vector3(0, 1.0f, 1.0f), QGuiMetricsMode.QGUI_GMM_RELATIVE, QGuiMetricsMode.QGUI_GMM_RELATIVE, mWidgetMaterial + ".list", getSheet().getMenuContainer(), this); mList.setCharacterHeight(mCharacterHeight); mList.setFont(mFont); mList.setTextColor(mTextTopColor, mTextBotColor); mList.hide(); int derivedZOrder = getSheet().getMenuOverlayZOrder() + 1; Window w = getWindow(); if (w != null) { mList.setZOrderOffset(derivedZOrder - getWindow().getZOrder(), false); } else { mList.setZOrderOffset(derivedZOrder, false); } _addChildWidget(mList); OnDeactivate += new DeactivateEventHandler(ComboBox_OnDeactivate); OnMouseEnter += new MouseEnterEventHandler(ComboBox_OnMouseEnter); OnMouseLeaves += new MouseLeavesEventHandler(ComboBox_OnMouseLeaves); OnMouseButtonDown += new MouseButtonDownEventHandler(ComboBox_OnMouseButtonDown); OnMouseButtonUp += new MouseButtonUpEventHandler(ComboBox_OnMouseButtonUp); }
public Button(string name, Vector4 dimensions, QGuiMetricsMode positionMode, QGuiMetricsMode sizeMode, string material, OverlayContainer overlayContainer, Widget ParentWidget) : base(name, dimensions, positionMode, sizeMode, material, overlayContainer, ParentWidget) { mWidgetType = Widget.WidgetType.QGUI_TYPE_BUTTON; setCharacterHeight(0.5f); MaterialManager mm = MaterialManager.Singleton; mOverMaterialExists = mm.ResourceExists(mWidgetMaterial + ".over"); mDownMaterialExists = mm.ResourceExists(mWidgetMaterial + ".down"); OnMouseEnter += new MouseEnterEventHandler(Button_OnMouseEnter); OnMouseButtonDown += new MouseButtonDownEventHandler(Button_OnMouseButtonDown); OnMouseButtonUp += new MouseButtonUpEventHandler(Button_OnMouseButtonUp); OnMouseLeaves += new MouseLeavesEventHandler(Button_OnMouseLeaves); }
/** Constructor * @param * name The name to be given to the widget (must be unique). * @param * dimensions The x Position, y Position, width, and height of the widget. * @param * positionMode The GuiMetricsMode for the values given for the position. (absolute/relative/pixel) * @param * sizeMode The GuiMetricsMode for the values given for the size. (absolute/relative/pixel) * @param * material Ogre material defining the widget image. * @param * overlayContainer associates the internal OverlayElement with a specified zOrder. * @param * ParentWidget parent widget which created this widget. */ public TextBox(string name, Vector4 dimensions, QGuiMetricsMode positionMode, QGuiMetricsMode sizeMode, string material, OverlayContainer overlayContainer, Widget ParentWidget) : base(name, dimensions, positionMode, sizeMode, material, overlayContainer, ParentWidget) { mWidgetType = Widget.WidgetType.QGUI_TYPE_TEXTBOX; mMaskUserInput = false; mBackSpaceDown = false; mBackSpaceTimer = 0.0f; mDeleteDown = false; mDeleteTimer = 0.0f; mLeftArrowDown = false; mRightArrowDown = false; mMoveCursorTimer = 0.0f; mCursorVisibilityTimer = 0.0f; mReadOnly = false; mInputMode = false; // Border Overlay gives us ability to assign material to TextBox border and Panel separately. mOverlayElement = createPanelOverlayElement(mInstanceName + ".Background", mPixelDimensions, ""); mOverlayContainer.AddChild(mOverlayElement); mOverlayElement.Show(); setMaterial(mWidgetMaterial); mCharacterHeight = 0.75f; Mogre.Vector3 textDimensions = new Mogre.Vector3(0, 0, mCharacterHeight); // Label has no material, since it directly overlaps the textbox overlay element mTextWidget = new Text(mInstanceName + ".Text", textDimensions, QGuiMetricsMode.QGUI_GMM_RELATIVE, QGuiMetricsMode.QGUI_GMM_RELATIVE, mChildrenContainer, this); mTextWidget.setTruncateMode(Text.TruncateMode.LEFT); mTextWidget.setTruncationFeedback(""); mTextWidget.setZOrderOffset(1); _addChildWidget(mTextWidget); mHorizontalAlignment = GuiHorizontalAlignment.GHA_LEFT; mVerticalAlignment = GuiVerticalAlignment.GVA_CENTER; alignText(mHorizontalAlignment, mVerticalAlignment); OnDeactivate += new DeactivateEventHandler(TextBox_OnDeactivate); OnCharacter += new CharacterEventHandler(TextBox_OnCharacter); OnKeyDown += new KeyDownEventHandler(TextBox_OnKeyDown); OnKeyUp += new KeyUpEventHandler(TextBox_OnKeyUp); OnMouseButtonDown += new MouseButtonDownEventHandler(TextBox_OnMouseButtonDown); OnTimeElapsed += new TimeElapsedHandler(TextBox_OnTimeElapsed); }
public static void RemoveMouseButtonDownEventHandler(MouseButtonDownEventHandler e) => ModBase.InputManager.RemoveMouseButtonDownEventHandler(e);