I'm new. I've determined I cannot make a label "active" and accept keyboard input, so I am trying text fields instead. Seeking advice as to how to kill off the built in keyboard when the user taps the text field, as I want to use my own keyboard (a series of images).
I can determine the active text field (textfield.editing == yes), but when I will kill of the keyboard it seems it also kills off the ability to enter any data into that text field.
Maybe I need to just "hide" the keyboard? Send it off the screen?
OK, I found a way to make this happen. I created some transparent buttons, and laid those over the top of the labels. When the button gets clicked, it designates the label below it should be the active label.
In a separate method, the users text runs thru a few conditions to determine which label (as designated by the transparent button) is active, and the text goes into that label.
Related
When I select a code in a Jupyter notebook cell, the code stays selected as long as I don't click into a different part of the same cell that is not selected. So, for example, if I select more text than I wanted, I have to click outside of the selection first, before being able to re-select the portion you want. This is very annoying, particularly if I select all the text within a cell and then want to select a smaller portion of text. I need to scroll up or down to the edge of the selection and click exactly before or after the selected text to unselect it again. Is there a way to make the jupyter notebook behave in a way that every click and drag creates a new selection rather than moving already selected text?
If I understood correctly, you want a way to reduce the size of the selected text area. You can do this holding shift-clicking within the selected text box, this will move the end-marker to the point where you clicked.
Unfortunately this only works with the end-marker and not the start-marker as is standard. I have raised a ticket with codemirror (the project that jupyter-notebook uses for the text editor).
In my Flex 4.9.1 application, at a particular point I put up a "sheet of glass" over the entire stage. It's purpose is to trap all mouse clicks until the user presses the escape key, which removes it. That part is easy and works well. It's just a FlexSprite, parented by the systemManager, which paints transparent pixels over the entire screen.
The problem is that, regardless of where the focus is before the glass is put up, or even if stage.focus is set to null, the user can press the tab key and focus text inputs beneath the glass, and enter text into them.
I tried listening for KEY_UP and KEY_DOWN events on the systemManager, with useCapture=true, and the highest possible priority (0x7FFFFF). When I get the events, I call stopPropagation(), stopImmediatePropagation(), and preventDefault() (even though the events are not cancelable) on them. Nothing works. No matter what, hitting the tab key several times will bring a textfield into focus, and typing letters will enter text into the fields.
So it appears that the text fields are not actually controlled by the key events they dispatch, as if the text is entered before the event is actually dispatched. Because presumably, if they were, they would listen at the target phase of the event flow. And as for the tab key, I have no idea why stopping its propagation doesn't prevent the focus switching.
Has anyone accomplished what I'm trying to accomplish before? If so, what worked?
You can use Application.application.enabled = false; to disable all the controls beneath the top-level Application while the "sheet of glass" is up.
See this answer for more details.
I have a custom TextInput that listens for the FocusEvent.FOCUS_IN and FocusEvent.FOCUS_OUT events:
textDisplay.addEventListener(FocusEvent.FOCUS_IN, onFocusInHandler);
textDisplay.addEventListener(FocusEvent.FOCUS_OUT, onFocusOutHandler);
My onFocusInHandler function basically removes a "promptview" that tells the user to type in a value, with the onFocusOutHandler doing the opposite.
For example, if the TextInput text was backspaced to a blank value and the user clicks out of the TextInput box, it would show a "Please enter a value" light-gray prompt in the TextInput.
This works fine until the user clicks our custom "Clear" button. The clear button sets the text to "", and I can tell the FocusEvent.FOCUS_OUT is received because the prompt text is set to visible (its not being set anywhere else). The problem is, the cursor remains in the box as if it still has focus, so if the user immediately starts typing, both the prompt text "Please enter a value" and the user-entered text appears over the gray text, which looks pretty ugly and unreadable.
Why does the TextInput receive the FocusEvent.FOCUS_OUT event if it's not actually losing focus? Is there any way I can get around this?
Option 1. Use the Spak TextInput in Flex 4.1 or 4.5. This already provides a promptDisplay by default (as mentioned in the comments)
Option 2. Take a look at the focus-skin. This skin class is usually placed on top of the normal skin. There could exist some focus ambiguity between these two. Try using a custom focus-skin without a textDisplay and clear button.
Option 3. Not only use a focus event to show or hide the prompt, but also look at the content of the TextInput. You don't want to display a prompt when the text is set by binding as wel.
Sorry to bother you, but I was hoping you could help me. We are currently building a new web site and have run into some issues with our programmer. I am trying to do some research to see if we can find a way for my issue to be solved so that I can let my programmer know.
First issue:
Go here: http://tinyurl.com/276we3f
At the pop-up just enter some example text.
Now, when you hover over any text boxes on the left of the card, you will see that the text boxes become highlighted with a border. If you click in a text box, a properties pop-up appears that allows you to change the font, color, alignment, etc. When you click close, it will take you back to the product and will highlight the text. I want the user to be able to click anywhere within a text box to type new text. For example, in the bottom text box, where it says "join us to celebrate", the user should be able to click anywhere in that text to change the wording. They might want it to say "join me to celebrate" instead of "join us to celebrate". However, if they click next to the word "us" so that they can change it....the pop-up appears.
Is there a way to just have a pop-up appear to the side and not have the background grayed out and disabled?
Also, is there a way to be able to click anywhere in the text box to edit just certain words or letters?
Second and final question:
If you click on "Click to add photo", you will see a pop-up appear that allows you to upload an image, edit it, etc. After uploading the image, I want the user to be able to move the image around with their mouse by dragging it and positioning it in the exact spot that they want it in. We also have the arrows where they can click the up, down, left or right arrow in the image editor pop-up....but I would like for them to be able to drag the image with their mouse as well. We know how to enable dragging of the image. However, the problem occurs when the user releases the mouse button. On the mouseup when the user is done dragging....the pop-up will appear since the pop-up is triggered by the release of the mouse button.
Does that make sense?
Sorry for the long message and THANKS SO MUCH for your help!
For the first part of your question, when showing the dialog box for the properties of the text area, you can pop it up as a non-modal window. This means the properties dialog will show but will not lock out the rest of the UI, enabling the user to change the text however they like. It also means the background does not blur/grey out. To pop up a window in a non-modal state, call PopUpManager.createPopUp (or PopUpManager.addPopUp) with the third parameter (modal) set to false.
For the second issue, set a member variable such as "isDragging" to true when you detect that the user is dragging the image around. Then on mouse up, only display the pop up if isDragging is false.
Hope that helps.
I'm trying to design a UI in Qt and I can't find anywhere in the designer a button which can be "droped down" like combobox. What I mean by that is that I would like to have this button with his "default" option choosen so if I like it I would have to just click on it but if I would like to choose different option I would be able to clik the little arrow on the right side of this button and then pick option suitable for me at that moment.
You're looking for a QToolButton that has a set of actions or a menu set on it. From the documentation, the QToolButton::ToolButtonPopupMode...
Describes how a menu should be popped up for tool buttons that has a menu set or contains a list of actions.
Of it's values, the two that I see most frequently are DelayedPopup:
After pressing and holding the tool button down for a certain amount of time (the timeout is style dependant, see QStyle::SH_ToolButton_PopupDelay), the menu is displayed. A typical application example is the "back" button in some web browsers's tool bars. If the user clicks it, the browser simply browses back to the previous page. If the user presses and holds the button down for a while, the tool button shows a menu containing the current history list
And MenuButtonPopup:
In this mode the tool button displays a special arrow to indicate that a menu is present. The menu is displayed when the arrow part of the button is pressed.