I want to delete my "Fibo", the one which I made by the this ( ref.: missing ) indicator, but I wouldn't like to delete all "Fibo"s present in the MT4.graph.
How to do that?
How to delete a GUI object from an MT4.graph
In any case, each MT4.graph is composed from both individual, fully manageable-objects ( which can be moderated and also deleted ) and fixed, system-driven objects ( which can have adapted only a few visualisation parameters -- a color, object appearance, scale -- within a system-driven range of values ).
This said, Fibo-objects are fully manageable objects, be that performed by an MQL4-code or by a user manual intervention.
For the latter case, such GUI-object has to be first moved into a GUI-SELECTED-state, for which a mouse double-click shall be used.
Once SELECTED, the GUI-object starts to become depicted with white control-points on the MT4.graph ( three-control-points for Fibo on {0|50|100}-lines ):
Next one may right-click with the mouse and MT4.graph opens another dialogue box ( depicted above ) where an option to Delete ( a SELECTED object(s) ) appears.
Another way is to mark and let delete such object via Ctrl+B which opens an Object-List window dialogue panel. The circled marker allows to switch an object's SELECTED state {on|OFF}. The button Delete is self-explanatory.
It is that simple.
Enjoy the Worlds of MQL4
Related
I tried and understood what could be the purpose of the accessibilityActivationPoint but in vain.
When a focused accessible element is activated, that property should indicate VoiceOver the specific area it's going to activate when a user double-taps the element (Apple reference) : for me, it's always the selected element itself.
I understood the selected element is considered as a block by VoiceOver, whatever the other elements inside. Once a double tap occurs to activate this block, VoiceOver calls accessibilityActivate to know what to perform (Apple reference).
1/. I've written many tests by creating a custom view including a switch control. Whatever the value of accessibilityActivationPoint inside (or outside on another switch control), the value of the switch control never changes. Is it a proper use case or am I totally wrong ?
2/. When we gather many elements inside one accessible element, how is VoiceOver able to activate one of them while they aren't accessible by definition ? Pointing one of them thanks to the accessibilityActivationPoint should work ?
Personally, I couldn't make it work and think that I'm really confusing accessibilityActivationPoint and accessibilityActivate.
Any help would be appreciated, thanks in advance.
Yes, you have the right idea with accessibilityActivate and accessibilityActivationPoint. Note that, in order for it to work, the accessibilityActivationPoint needs to be a point within the Control that you are trying to activate in on-screen coordinates (use the convert function!).
I think the short answer is "yes" to answer your second question, but, just to clear up confusion about when Accessibility Activation Point is useful, I'll go into more detail about it.
By default (aka, the default behavior for AcessibilityActivate()), when any view is activated by VoiceOver, VoiceOver will send a "tap gesture" to the center of the view. The position of this "tap gesture" can be changed by updating the accessibilityActivationPoint attribute on a view. Below, I have an example for how this property can be used.
Let's say you have a blank button (in the image below, the button is the gray box) next to some text:
For the purpose of accessibility, you may want to make the entire view that holds the button and text an Accessibility Element (so that VoiceOver users can easily understand that the button is associated with the text "Worldspace Attest"). In the image below, I am using Accessibility Inspector to show that the view holding both of these elements is an Accessibility Element.
Notice in these images that the button is not in the center of the view, but rather, it is to the right. When you activate this view using VoiceOver, the view will not select the button; instead, it will send a "tap" to the center of the view (which is the same as tapping the text, which does not do anything). In order to select the button, you have to set the view's accessibilityActivationPoint to be the on-screen coordinates of the button:
view.accessibilityActivationPoint = self.convert(button.center, to: UIApplication.shared.windows.first)
This should make it so that this button is usable by a VoiceOver user.
I hope this information clears up any confusion about the Accessibility Activation Point property. The example I used above can be found in this repository in the "Active Control Name" demo.
I'm tring to make come UI test using Coded UI. Unfortuanley, It seems to not have access to all DOM elements in browser.
I want to assert value of one text block in form, and by"Add Assertion" the lowest element i can assert is form itself. All tags contained by form was flatten and putted to "id" property in "Add Assertion" widnows, like in the screen below:
Is there a way to assert only one tag in form? In this case i want to assert value "Szczegóły przesyłki: 0--1526203258"
It depends on how your web page is designed. From the image shown it it not clear what field contains the Szczegóły przesyłki: 0--1526203258. However, given (1) the scroll bar and (2) that the Id field is shown and is empty, it is probably the Inner Text field.
Given the number of lines shown above and below the required text you are likely to have selected a larger than necessary part of the screen. When creating an assertion is it often best to move the cross hairs tool around the screen to find the smallest control that contains the required field. Such a UI Control will have no child controls.
I have found that occasionally the Coded UI cross hairs tool loses its place and leaves all four (UP, DOWN, LEFT and RIGHT) arrows grey and inactive, as shown in the screenshot. When this happens try clicking the refresh button located between Add Assertion and the arrows. Some of the arrows should then be shown as black and active. If the DOWN arrow is grey (inactive) and some of the other arrows are black then the properties panel shows a UI Control that has no child components. You should be able to find a UI Control that contains only the required text.
How do I track the event of clicking a node or double-clicking a node item (meaning, that textual thing next to the plus sign) in a tree view, but not the treeview itself?
Detect a click or double-click on the control in general with the OnClick and OnDblClick events. To find out which specific node was clicked, use the control's GetNodeAt method with the mouse's current coordinates.
You can get the coordinates as they were at the time of the click with GetMessagePos; reading Mouse.CursorPos will give you the coordinates at the time you read the property, which might be very different from the time of the click if there is any sort of load on the system, and that can lead to detecting clicks at places that aren't even within the bounds of your control.
Use usual OnClick and OnDblClick events and look which is the current node item.
http://docwiki.embarcadero.com/Libraries/XE3/en/Vcl.ComCtrls.TCustomTreeView.Selected
See also linked examples.
But better use VirtualTreeView.
http://www.lischke-online.de/VirtualTreeview/VTGallery.php
http://code.google.com/p/virtual-treeview/
I have this tool tip that is created every so often. What is the appropriate actionscript etiquite?
A. To Create and remove the tooltip moveclip when needed?
or
B. To hide and show the tooltip movieclip when needed?
With these A and B, the answer is B, because creating and then removing an object a lot of times creates a lot of garbage in the memory, which eventually leads to garbage collector calls, that slow your SWF's performance. You can easily go with a single tooltip MC, just fill it with information that corresponds to the new mouse coordinates before you show it.
There is another question, not so straightforward as yours, about how to hide and show a movie clip, either via visible property or via addChild() and removeChild() (AS3 only). If you are using AS2 or AS1, use visible property to hide and show your tooltip.
There are three ways to hide something in Actionscript : Alpha, visible and remove child.
Apha: If you turn the alpha zero the renderer always comes to this displayObject and renders it at alpha zero. So the object is always rendered you just cannot see it.
Visible == false In this case the object still exists in your displaylist. So the renderer comes to the object. Sees it's property is false and leaves it but it still exists in the display list.
removeChild This means that you're removing the object from the display list. This means that the renderer never had to even check for it. Which makes it the fastest option.
addChild doesn't take that much computing power as visible check. I'm sure you can find benchmarks on this.
If you don't have a lot of objects on yours screen and the tooltip is there every second I'd go with visible is false. In all other cases go with the third option.
On a side note, I've found it always easier to manage them with a toolTipManager. A class that makes sure that you have one tooltip on the screen because usually users only use one tooltip. So that makes things easier for me. I just always create the necessary tooltips and add them to the displaylist when required and remove them. (Not recreate them) At the same time have only one tooltip on stage.
Is there anyway to allow the user to tab between the fields in the TDateTimePicker.
Having to use arrow keys or the mouse to position is very slow.
No, there is no way.
Interception of the TAB and sending a right arrow key -> instead is easy, but then you have to decide when to let (SHIFT-)TAB trough, which should be done when standing on the first or last field in order to preserve normal user experience.
Now, all the selection changes from cursor and mouse events are internally handled within the Windows DTM control, and the Windows API does not support retrieving the separate fields. All you can acquire is the entire text of this very special edit control.
In theory you could intercept and save áll keyboard and mouse input, and calculate whether the first or last field is selected, but it will be a daunting and an error-prone task, and you should not want to.
Thus no. You just have to get yourself familiarized with it.