iCal: get current event or get selected event

I’m trying to make an AppleScript that can find out what the currently selected event in iCal is.
Eventually I want to have a small Applescript Studio application that will let me edit an event’s details in a friendlier fashion than Leopard era iCal.

So far the only way I’ve found to do this is to use UI scripting to cut then paste the event which makes it the last event in the calendar.

tell application "System Events"
	tell process "iCal"
		set frontmost to true
	end tell
	click menu item "Cut" of menu "Edit" of menu bar item "Edit" of menu bar 1 of application process "iCal"
	delay 2
	click menu item "Paste" of menu "Edit" of menu bar item "Edit" of menu bar 1 of application process "iCal"
end tell

tell application "iCal"
	tell calendar "Unfiled"
		set eventnumber to count each event
		get description of event eventnumber
	end tell
end tell

It’s pretty clumsy and without the delay it pastes the event twice.

Is there a more direct way to find out what the selected event is?

I really hate the fact that get selection in iCal does not work. Because using scripts like this is so slow…

This script is an edit of one I made for Tiger.

Select your event and then run the script.
The event MUST have something in the Notes(description )

tell application "iCal" to activate
delay 1
tell application "System Events"
	tell process "iCal"
		keystroke "c" using {command down}
		set this_item to the clipboard
	end tell
end tell
set this_summary to paragraph 1 of this_item
set this_discrip to paragraph -1 of this_item
tell application "iCal"
	set the_event to ""
	repeat with i from 1 to (count of calendars)
		tell calendar i
			try
				(*look for the event summary*)
				set the_event to (first event whose summary contains this_summary)

(*look for the event description*)
				if event the_event's description contains this_discrip then
					
					
					(*exit,  no need to carry on *)
					if the_event is not "" then
						exit repeat
					end if
				end if
			end try
		end tell
	end repeat
	activate
	show the_event
return the_event
end tell

Thanks for your advice Mark.
I can’t believe this is not a regular part of the iCal vocabulary.