Custom menu for chrome text field - google-chrome-extension

I want to create a custom pop-up menu, which appears when the user focuses a text field. In this menu, the user should be able to click on buttons or something.
I tried using content scripts, but my problem is, that I don't find good events to show and hide the menu.
I tried the focus event to show the menu and the blur event to hide the menu, but obviously when selecting something in the menu, the text field looses focus and blur fires, which hides the menu and does not process the click. Additionally, when I use the focus and blur events on text fields, I guess I will override existing event of the webpage.
Is there a good way to accomplish this?

Related

Can't add icon to Action Right Click Drop Down Menu in Notes Client View

I am trying to add an icon to the Right Click, Drop Down Menu , on an Action, in a View. The icon shows up in the Action Bar (with no text, but that is how it's supposed to work) at the top (see image) but in the drop down menu, it does not appear, only the text does. Is there something I am missing? Is this not suppported?
In my opinion this feature is only supported for actions in the action bar:

Button on Popup form with few more user defined fields

When I cilck on a button on main toolbar, I am displaying a popup form (PXSmartPanel) with few fields on it. Whenever I click on the main toolbar button, I want first the control should go to the popup form and based on buttons on popup form (Ok/Cancel), it should perform the action.
However, I tried that but eventually when I click on button on main toolbar, it first executes the code behind for that button and then shows popup.
Any suggestions?
Found the solution. You can use AskExt method of your DAC class to show popup first and then execute your code.
You can also use px:PXSmartPanel with AskExt. With help of PXSmartPanel you can customize your screen, and even add some buttons to your pop up. Here I wrote "short" manual how to do it.

How to click on radio button which is on Popup using Coded UI

I m automating a page where there is a popup and on that there is radio button and a submit button, when i click on radio button my test fail giving error that hidden object cannot be performed action like click but its visible (not hidden) where as when i click on submit button on same popup is click. i have checked its properties but there is nothing which i can change it just have simple id,name,value which is changing dynamicly and for that i have even used regex
please help me out
Thanks
It's possible that there is another radio button on the page with similar properties. Is this a recorded object? Is the popup window listed as the parent?
Can you post the Regex you are using, the control's properties, and the properties of the popup window?
if your are using IE whose version is > 9.0.19 then there was a patch release by Microsoft to overcome this issue
http://blogs.msdn.com/b/visualstudioalm/archive/2013/09/17/coded-ui-mtm-issues-on-internet-explorer-with-kb2870699.aspx

Watir- How can I put a hover on any HTML element

I have a web application, in that application the head menus open when we move mouse on to that (I don't want to click on that head menus because clicking on that menus redirect the page to another page).
On mouse over it opens a menu list, I will be able to select the menu item but not able to hover on to the head menu so that a drop-down menu list can appear.
fire_event("onmouseover") is not working, it is only flashing that menu(element) but not opening the drop down menu list.
Can any one give me the solution How can I put hover on to any HTML element please.
Well, there is #hover method:
browser.element(:how => what).hover
And this could also help: How to find out which JavaScript events fired?
For some reason .hover doesn't work for me, but this one does:
browser.element(how: what).fire_event(:mouseover)
No idea why.

How to programatically manipulate a popup menu on multiple dynamic widgets in Progress

Language: Progress 10.1C
I have a Windows form, and on it I dynamically create a number of widgets (toggle-boxes in this case). I can create anything from 0 to 64 widgets, depending on how many do-hickies the user has in the current collection. As the user changes from one collection to another, the widgets are deleted or created as needed. The form will resize according to how many widgets are displayed.
The user can check any number of them and perform certain processes on the checked items by selecting actions from a menu bar, toolbar or keyboard shortcuts. But I also want the user to be able to right-click on a single widget, which should bring up a popup menu with actions that can be performed on just the one clicked item, whether it's checked or not.
In itself, this is pretty straight forward. In the past I had done this kind of thing (in other languages) by having a single popup menu that pops up when the user clicks on any one of the dynamic controls. But I'm having a hard time doing this simple thing in Progress:
I am unable to have one popup menu that responds to the right-click of all the widgets. I tried creating a single popup menu, and then as I create each dynamic widget, I set its popup-menu attribute to this menu. The problem is that a menu can only be applied to one widget. Once I've assigned it to Widget1, I cannot assign it to Widget2. This leads one to think of creating a seperate but identical menu for each widget. And as the widgets are destroyed and recreated, so will these menus. In a single session I will create and destroy hundreds or even thousands of these identical menus, while the user might use one of them once or twice. Or not at all. So this does not seem like a good option to me.
My next solution would be to create a single menu which I can pop up programatically, but all attempts to programatically pop up a menu have failed. I have tried APPLY "MENU-DROP" TO MENU MyMenu and other similar things and I cannot for the life of me figure out how to do it. I also find it very difficult to search for information on this. It's as if nobody else has ever tried this, and the rare cases where someone has asked about it, there has been no satisfactory answers. I'm suspecting this cannot be done.
While trying all these things, I have also had endless problems with the events MOUSE-MENU-DOWN, MOUSE-MENU-UP and MOUSE-MENU-CLICK. MOUSE-MENU-CLICK seems to never happen, not for my dynamic widgets anyway. I am unable to figure out why. MOUSE-MENU-UP occurs sometimes, but it depends on what happens in MOUSE-MENU-DOWN and other events of the widgets as well as the widgets' parents. I have not been able to figure out exactly when it will or won't fire, it's very counter-intuitive. MOUSE-MENU-DOWN is the only one I can count on firing.
So: I can't show a menu programatically, I can only show it by right clicking on the menu's parent. The only way to avoid having hundreds of identical menus, is to have a popup menu on the parent of the widgets, for example the default frame.
With a static popup menu on the default frame, I can right-click on the widgets and the menu will come up, but it comes up if I click anywhere in the frame. I can disable the menu, and then in the right-click event of the widget, I enable it. This works very well the first time; if I click anywhere in the frame, nothing happens (the menu is diabled), but if I click on my widget, the menu is enabled and pops up. Yay! But now the menu is enabled and now it pops up if I right-click anywhere, on buttons, empty space, progress bars, etc. When do I disable it again? After the menu has popped up, the user can click anywhere and the menu will dissappear. There is no event that fires when the menu is closed, so I'm stuck.
Sorry about the long ramblings, I'll restate the question briefly: I want to have one popup menu that pops up when the user right-clicks one of a number of dynamically created widgets.
Using Tom's answer, this is how I implemented it:
/* Somewhere in Control Definitions... */
DEFINE MENU m_Popup
MENU-ITEM m_Test1 LABEL "Test 1"
MENU-ITEM m_Test2 LABEL "Test 2".
/* Somewhere, where I need to dynamically create the widgets. */
/* Loop through the items in the temp table and create a widget for each. */
FOR EACH ttItem BY ttItem.ItemName:
CREATE TOGGLE-BOX hWidget
ASSIGN
FRAME = FRAME DEFAULT-FRAME:HANDLE
LABEL = STRING(ttItem.ttItemName)
TRIGGERS:
ON MOUSE-MENU-DOWN PERSISTENT RUN GetMenu IN THIS-PROCEDURE.
END TRIGGERS.
END.
/* If the user right-clicks on any one of the widgets, this procedure */
/* is run with SELF being the widget that was clicked on. */
PROCEDURE GetMenu:
/* Remove the menu from its current owner and assign it to SELF. */
MENU m_Popup:OWNER:POPUP-MENU = ?.
SELF:POPUP-MENU = MENU m_Popup:HANDLE.
END PROCEDURE.
/* The user clicks on one of the menu items */
/* Here SELF is the menu item that was clicked. I can */
/* get m_Popup from SELF:PARENT and the widget it was */
/* was assigned to from SELF:PARENT:OWNER. */
ON CHOOSE OF MENU-ITEM m_Test1
DO:
MESSAGE "You selected " SELF:LABEL " for " SELF:PARENT:OWNER:LABEL.
END.
My buddy Mike Fechner (who is not currently on SO but who does this stuff a lot more than I do) tells me that, while this example is static, something very similar should work:
Procedure getMenu:
DEFINE INPUT PARAMETER phWidget AS HANDLE NO-UNDO.
DO WITH FRAME {&FRAME-NAME}:
FILL-IN-1:POPUP-MENU = ? .
FILL-IN-2:POPUP-MENU = ? .
FILL-IN-3:POPUP-MENU = ? .
END.
phWidget:POPUP-MENU = MENU POPUP-MENU-FILL-IN-1:HANDLE .
END procedure.
ON RIGHT-MOUSE-DOWN of all three fill-in’s you "RUN getMenu (SELF)." to steal the popup menu from whomever has it.

Resources