package com.spice.clove.plugin.twitter.column.control { import com.architectd.twitter.calls.friendship.CreateFriendshipCall; import com.spice.clove.commandEvents.CloveEvent; import com.spice.clove.commandEvents.CreateColumnEvent; import com.spice.clove.events.CloveColumnEvent; import com.spice.clove.events.plugin.ColumnControllerEvent; import com.spice.clove.plugin.column.*; import com.spice.clove.plugin.column.render.*; import com.spice.clove.plugin.control.IPluginController; import com.spice.clove.plugin.twitter.CloveTwitterPlugin; import com.spice.clove.plugin.twitter.column.control.render.RenderedColumnDataTwitterRefAttachment; import com.spice.clove.plugin.twitter.column.control.render.RenderedColumnDataTwitterSearchAttachment; import com.spice.clove.plugin.twitter.column.control.sub.TwitterConversationController; import com.spice.clove.plugin.twitter.posting.TwitterDMPostable; import com.spice.events.TextCommandHandlerEvent; import com.spice.utils.textCommand.handle.TextCommandResultController; import com.spice.utils.textCommand.link.LinkifyHandler2; /** * TUserBasedColumn column is the super class of columns that contain tweets * @author craigcondon * */ public class TwitterUserBasedColumnController extends TwitterColumnController { //-------------------------------------------------------------------------- // // Private Variables // //-------------------------------------------------------------------------- private var _mentionsLinkHandler:LinkifyHandler2; private var _hashtagLinkHandler:LinkifyHandler2; private var _menuOptions:Array; //-------------------------------------------------------------------------- // // Constructor // //-------------------------------------------------------------------------- /** */ public function TwitterUserBasedColumnController(controller:IPluginController = null) { super(controller); _menuOptions = [ { label:"Follow", callback:follow }, { label:"Unfollow", callback:unfollow }, { label:"Retweet", callback:quoteTweet }, { label:"Reply", callback:reply }, { label:"Direct Message", callback:directMail }/* , { label:"favorite", callback:markFavorite } */ ]; // this._menuOption = new ColumnDataOption(ColumnDataOptionType.MENU,OptionIcon.TOOL_ICON,mhandler); this._mentionsLinkHandler = new LinkifyHandler2('(?<=^|[^\\w])(?<=@)(\\w+)',null,"#FF4000"); this._hashtagLinkHandler = new LinkifyHandler2('(?