NSTable cell click event in Xamarin.mac - onclick

After having searched a lot without success for a way to manage the click event on a NSTable delegate in Xamarin.mac, for instance the following thread without answers after two years:
NSTable row click event
I made an override of ShouldSelectRow method, always returning false to be called more then once, in order to manage click event row and column, but preventing me to use selection!
I am new in Xamarin. I used the Main.storyboard in Visual Studio Professional to call XCode where I settled the NSTable definition.
Thanks for help.

Related

(RADGrid ItemCommand Event) Cannot Get Values From Cells?

I am having a strange problem. First let me start by saying that I am using the Telerik controls supplied by DotNetNuke. So I can not "upgrade" to any other version of the Telerik controls. I am stuck with what I am given.
I wrote a module initially using DNN v06.02.09 (Telerik v2012.2.724.35) and it worked great. I unfortunately am forced to upgrade to a newer DNN version because of a bug found in this particular version of Telerick's RADScheduler (which effects the month of November only). So...now I am running DNN v07.00.06 (Telerik v2013.1.403.40). [Note: I also tested this with the most recent DNN v7.04.01 (Telerik v????) and confirmed the same behavior described below]
Previously when I clicked on a button inside the RADGrid and the ItemCommand event fires I was able to obtain the value of each cell in the row that the button was activated in. The same exact code running in DNN v7.x now returns "nbsp;" for every single cell in the row. It's like the new Telerik version doesn't bind the data to the GridDataItem (e.Item) within the ItemCommand event like it used to.
What am I missing? How do I get the selected row's data like I had before?
Ok, so after scouring the internet and trying everything I could think of to fix this...I stumbled across the following "article"... http://www.telerik.com/forums/breaking-change-hidden-column-cell-text-is-not-persisted-in-viewstate
You would think they would make this stuff easier to find. Apparently the ".Visible" property's behavior was changed, so that if the column is not visible, it also does not bind data. They created a new property called ".Display" that would hide the column but still bind the data. I had to change my code to use the new property and then the grid's behavior was returned to what it was previously.

Detect right clicks on a RichEditableText

I am currently implementing squiggly in a flex application to enable spell checking. Due to certain requirements, I can not use SquigglyUI to hook onto my spark RichEditableText. I have successfully used com.adobe.linguistics.utils.TextTokenizer to tokenize and highlight mispelt words.
I would like to be able to let the user rightclick on a mispelled word and show a list of suggestions in the context menu using getSuggestions.
I have tried to attach a listener to my RichEditableText:
richtexteditor.addEventListener("rightClick", showSuggestions);
And this is my event handler:
private function showSuggestions(event:MouseEvent):void{
trace('hi there');
}
The problem is when debugging the application, I never get the trace in my console as the rightclick event is never dispatched. In addition, I need to detect the word the user has right clicked on. How can I go about doing this and how can I detect right clicks?
Cheers
All I had to do was add an event handler to the contextmenu property of the richeditable text:
richtexteditor.contextMenu.addEventListener(ContextMenuEvent.MENU_SELECT, doSomething);
r.addEventListener(MouseEvent.RIGHT_CLICK, listener)
This will listen for the right-click of the mouse (Flex4.5)

Show alert if moving on without saving in Flex?

Functionnaly :
On one of my components of my application, I have an editing/lock system. When a user starts editing, he locks the file so other users cannot edit it.
Problem scenario : When the user activates "edition mode" and leaves screen, I would like to show a alert with two options : save changes, or discard changes.
There are different ways to exit screen :
There is a List on the left side containing other possible editabel data. A click changes the data in my component.
There is a menubar on top leading to other screens.
The edition component is embedded in a Tab navigator. When changing tabs, the alert has to show.
Closing browser.
Do I have to catch all of these events and plug at all those places?
Is there any kind of focusout mecanism?
The answer to the first question is: YES.
You need to watch all possible exit events that could harm the currently edited data.
Well, the problem is now how to manage this properly. Using an MVC framework you would trigger the appropriate commands from your components:
CHANGE_LIST_ITEM (new item)
CHANGE_TAB (new tab)
CHANGE_SCREEN (new screen)
Each command then checks if the currently edited tab has been saved or not. If not, it displays the Alert. Else, if there are no changes, it allows the list, the screen chooser and the tab bar to continue.
So your components (list, screens, tabs) need to implement some kind of rollback or preventDefault mechanism. Generally, changing their state must be allowed by a central validator (in MVC the command).
In the case of the list: I would suggest that the list is not selectable by mouse click but only programmatically. You set a listener on the list item click event. If the command allows setting of a new item it will notify the list. In MVC usually by sending an async message that gets received by the list's mediator. [[And even more correct: The command would set some model properties (e.g. currentListItem) and the model than sends an async message.]]
Edit: For the browser close event, you need to call a JavaScript expert.

Flex - MATE Framework

I am new to MATE framework and I have been digging around some sample codes so that i can do the following:
On clicking a button (on a canvas)
Display a Panel.
The issue is that i am not trying to pass any value hence not sure of how/ what should be defined as sourcekey and targetkey. If this is the case, then how should one define the propertyinjector details.
most examples that are floating around contains details of reading data from a source and populating the same on a UI/ Display component.
Thanks
Srinivasan S
for this one you shouldn't use propertyInjection you should dispatch an event (you can make it custom), then you need to catch the event in the appropriate place and simply do whatever you want with it.

What the best way to coordinate loading initial values in syncronized Combo-Boxes & List Box

Environment: Flex/As3/Cairgorm/composite component.
I have two comboboxes and two datagrids such that the selection of combobox 1, inserts data into combobox two and the fist datagrid. The selection of combobox 2 inserts data into datagrid 2.
I have setup the change event so that the user selection on each of the combo boxes do the right thing. The problem is that on the initial load of the comboboxes, the change event does not fire and subsequent synchronization data loading does not happen.
Is there an event for getting the itemselected (1st item) after the combobox is initialized?
I found my own answer. Using the updateComplete event on each of the comboboxes did the trick.
[EDIT]
It turns out that updateComplete did not work as expected. What I really needed is the dataChange event. However, it appears that this event does not fire for comboboxes even though it is listed as a valid FlexEvent for this component.
I tried a number of other events (valueCommit, creationComplete, initialize) but all of these fire multiple times, overlap with change, and are not useful for this usecase.
In the end, I created a gludge of a chain of calls for the initialize path and change path.
If anyone else has a better way, I'd be very interested.

Resources