How do I tell if a form is in help mode? - winforms

There's a certain control which I don't have the source to (Steema TTree) it doesn't send a help message when help is requested through the form. (clicking the ? near the X on the dialog, then clicking the TTree)
I can just call help directly on the form and pass in my own helpmessage, but I don't know whether the form is in help mode.
The form's cursor is acutally 0 even when it has a ? next to it... That I find odd.
Anyway, I know I'm hacking my way through this, but I don't care. All I want to know is if there is a way to tell whether the user is requesting help and currently has a ? next to their cursor

The form's cursor is acutally 0 even
when it has a ? next to it... That I
find odd.
That's because that is your forms cursor
Try Screen.Cursor that should be the active one.

Torry helped
procedure wmNCLButtonDown(var Msg: TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
procedure wmNCLButtonUp(var Msg: TWMNCLButtonUp); message WM_NCLBUTTONUP;
I overrode those functions to set a global variable
fHelpMode : Boolean
to true when
if Msg.HitTest = HTHELP then
fHelpMode := true;
That allowed me to know when if the user was requesting help and I could override a mouse event on the TTree to do my help pop-up.

Related

Umbraco cms AngularJS Regular Expression Keep appearing

Umbraco uses angularJS as based library and backoffice totally developed on it. The reason telling first is to tell that I have a field on which URL regular expression applied. If someone entered invalid url like below image
it shows error as need.
But if a user try to remove whole text by selecting it and removing at once. It still keep appearing the error like this
However, if a user erase text one by one like this
then the validation error removed and user need to click on button to see error again.
I would to know how screen 3 state can be achievable when user remove all text together? Its really annoying behavior for a user to remove text character one by one to refresh the state of the field. Screen 3 state should be applied on screen 2.
Can anybody tell me how it can fix or achievable? Right now, it seems like a default behavior.
Looking forward to hear from you guys. Suggestions will be much appreciatable.
Regards o
I've looked into this issue. This seems to be a product bug.
When you remove whole text at once, newValue is an empty string and the code responsible for resetting error messages doesn't run. If you have access to the umbraco code, you can easily fix it by removing highlighted check:

Custom webform-mail template in Drupal 7 does not work

I'm trying to customise the webform email template for a specific webform following the steps in THEMING.txt, but those changes aren't being reflected in the form's default email template. I may have made a mistake in multiple places so I'm going to walk through my steps and hopefully someone will be able to spot what I did wrong :)
1) I copied the webform-mail.tpl.php template from /sites/all/modules/webform/templates directory over into the /themes/mytheme/ directory. Is that the correct place to drop it?
2) To test it, I simply changed some of the text. So I just changed 'Submitted on %date' to 'Entered on %date'.
3) I then renamed the page to webform-mail-1226.tpl.php, where 1226 is the number I see in the url when I go to edit the webform.
4) Then I tried to clear the cache, but I think this is the step I did wrong. The THEMING.txt file says to visit admin/settings/performance, but that path doesn't seem to work/exist for me. What I tried instead was admin/config/development/performance/ and then cleared the cache with the options here. Am I supposed to go somewhere else to clear a different cache?
5) I then went to the emails section corresponding to this form, and when I either go to an existing email or create a new one, the default email template does not reflect the changes I tried to implement.
Does anyone have any ideas why this isn't working? Thanks for your time and help :)
Here is checklist you need to verify:
1) Your Step 1 is okay nothing to worry.
2) If it is reflecting the change then it means default webform email template file is working fine.
3)* Here you need to verify node-id you used in filename. www.yoursite.com/node/xxx/webform, xxx = 1226 in the filename.
4) The Drupal 7 - Clear cache correct URL is admin/config/development/performance.
5)* Here you need to check in webform email setting you have to select "Default template".
Try selecting "Default template" the clear Drupal cache and then test.
Helpful link.

Protractor click element only when present

Alright, so I thought this would be easy but I've spend a few hours searching and trying different methods with no avail. I need to tell protractor to only click on a button when it is present. To water it down basically my test checks if a certain value is present on a page. The page can be in one of two states, automatic mode, which contains my value I'm testing or design mode, which contains other values which are irrelevant for this test. If its in design mode, we first need to click on automatic mode which produces a prompt asking us if we are sure we want to continue and switch to automatic mode - this prompt contains the continue button I need to check for and click. If the page is already in automatic mode however, I don't need to perform this check, I can proceed to validate weather or not my value is present. Basically I tried this:
if (continueButton.isDisplayed()) {
continueButton.click();
}
what happens I get a "No element found using locator:..." error. I tried a few different ways such as using isElementPresent, and some of the expected condition options but more or less I get the same results. How can I achieve this scenario where my test checks if a button is present and clicks it, and if it isn't present continues with the test.
You can achieve this by using promises.
continueButton.isDisplayed().then(function (isDisplayed) {
if(isDisplayed){
continueButton.click();
}
});
browser.wait() and elementToBeClickable Expected Condition is exactly what might help:
var EC = protractor.ExpectedConditions;
browser.wait(EC.elementToBeClickable(continueButton), 5000);
continueButton.click();

ModernDialog.ShowMessage Error: "Cannot set Owner property to a Window that has not been shown previously."

I am having an issue, same as _benji here https://stackoverflow.com/questions/28053087/cannot-set-owner-property-to-a-window-that-has-not-been-shown-previously, whereby I cannot get the ModernDialog to show the message, has anyone had and solved this issue before?
System.Windows.MessageBoxResult response = ModernDialog.ShowMessage("Cannot connect; try again?", "Connection Status", MessageBoxButton.YesNo);
Thanks
Error suggest the place you are calling the code from, has not yet shown any window to the user. You need to first show a window to the user before trying to show it, or make sure you show the dialog before closing the last window.

How to clear ultraComboEditor in 4GL/ABL

I have a ultraComboEditor1 box that shows all the values linked to a data source. When I select item from the comboEditor and click on a button this item then appears in a grid. However I'm struggling to clear the item from the comboEditor. This is needed so it makes data entry easier for the user.
I have looked online and the only information I can find is for C# where this would be used:
ultraComboEditor1.RowSource = "".
or
ultraComboEditor1.item.Clear().
or
ultraComboEditor1.SelectedIndex = -1.
these all work but in 4GL when trying any of these I get eh error message "Unknown Table name UltraComboEditor1" as only tables can be followed by a .
can anyone help me figure out how to do this in 4GL or provide with some information that may help?
Thank
Matt
You need to use ":" instead of "." to translate your c# examples into 4GL -
ultraComboEditor:Item:Clear()
etc
I have used: ultraComboEditor1:text = "". to clear the combo Editor on the button click event.
Thanks Anyway.

Resources