C# 클래스 ACAT.Lib.Extension.AppAgents.Outlook.OutlookAgentBase

Base class for the Outlook email application. Tracks the currently focused window/field in Outlook and displays the appropriate contextual menu to enable the user to interact with Outlook. Has the ability to support multiple versions of Outlook, currently only supports Outlook 2010.
상속: ACAT.Lib.Core.AgentManagement.GenericAppAgentBase
파일 보기 프로젝트 열기: brlima94/acat-localization

공개 프로퍼티들

프로퍼티 타입 설명
outlookControlSubType OutlookControlSubType
outlookWindowType OutlookWindowTypes

보호된 프로퍼티들

프로퍼티 타입 설명
autoSwitchScanners bool
controlType System.Windows.Automation.ControlType
outlookInspector IOutlookInspector

공개 메소드들

메소드 설명
CheckWidgetEnabled ( ACAT.Lib.Core.AgentManagement.CheckEnabledArgs arg ) : void

Invoked to set the 'enabled' state of a widget. This will depend on the current context.

OnContextMenuRequest ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : void

Displays the contextual menu

OnFocusChanged ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, bool &handled ) : void

Invoked when the foreground window focus changes. Display the scanner depending on the context.

OnFocusLost ( ) : void

Focus shifted to another app. This agent is getting deactivated.

OnRunCommand ( String command, object commandArg, bool &handled ) : void

Invoked to run a command from all the Outlook contextual menus

OutlookAgentBase ( ) : System

Initializes an instance of hte class

보호된 메소드들

메소드 설명
IsOutlookInstalled ( ) : bool
actuateStandardControl ( ControlType ctrlType ) : bool

Actuates a standard windows control such as a button, checkbox etc.

attachFile ( ) : void

Attaches a file to the current email being composed. Launches the file browser to get the file to attach from the user. Sends a command to bring up the Outlook "Insert File" dialog. Inserts the filename into the file name field in the dialog

createEditControlTextInterface ( IntPtr handle, AutomationElement focusedElement, bool &handled ) : ACAT.Lib.Core.AgentManagement.TextInterface.TextControlAgentBase

Creates an edit control text agent to manipulate text in the target text control that's currently active. the 'handled' param is set to true if it was handled successfully.

createKeyLoggerTextInterface ( IntPtr handle, AutomationElement editTextElement ) : ACAT.Lib.Core.AgentManagement.TextInterface.TextControlAgentBase

Creates a keylogger interface for all those edit controls that don't support the TextPattern. Depending on the type of the field we enable/disable abbreviations, smart punctuations, learning and spell check

getContextualMenuForWindow ( OutlookWindowTypes windowType, String &title ) : String

Returns the name of the contextual menu for the window/element currently in focus.

getOutlookVersion ( ) : int

Returns the outlook version install on the client machine. 14.0 is Outlook 2010

gotoNextField ( ) : void

Tabs to the next field in the window

gotoPreviousField ( ) : void

Tabs to the previous field in the window

identifyWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : OutlookWindowTypes

Identify the top level window in Outlook

isAppointmentSchedulingWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool

Is the active window the Appointement scheduling window?

isCalendarWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool

Is the active window the Outlook calendar window?

isContactsWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool

Is the active window the "Contacts" window?

isEmailMsgWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, bool &isNewMessage, OutlookControlSubType &subType ) : bool

Is the active window a new or existing open email window?

isInboxWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool

Is the active window the email inbox window?

isNotesWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool

Is the active window the "Contacts" window?

isOpenAppointmentWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool

Is the active window an open Appointment window?

isOpenContactWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool

Is the active window an open "Contact" window?

isOpenNoteWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool

Is the active window an open Outlook "Note" window?

isOpenTaskWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool
isTasksWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool

Is the active window an open Task window?

비공개 메소드들

메소드 설명
createOutlookInspector ( ) : IOutlookInspector

Creates the outlook inspector depending on the version of Outlook installed on the client computer. Returns default inspector if outlook is not installed or is the unsupported version.

getFileToAttach ( ) : System.Threading.Tasks.Task

Activates the file browser agent to get the name of the file to attach

isMessageBodyField ( OutlookControlSubType subType ) : bool

Checks if the specified window element is a message body field

isSubjectField ( OutlookControlSubType subType ) : bool

Checks if the specified window element is a 'Subject' field

isTopLevelWindow ( OutlookWindowTypes windowType ) : bool

Checks if the specified window is a top-level window in Outlook

메소드 상세

CheckWidgetEnabled() 공개 메소드

Invoked to set the 'enabled' state of a widget. This will depend on the current context.
public CheckWidgetEnabled ( ACAT.Lib.Core.AgentManagement.CheckEnabledArgs arg ) : void
arg ACAT.Lib.Core.AgentManagement.CheckEnabledArgs contains info about the widget
리턴 void

IsOutlookInstalled() 보호된 메소드

protected IsOutlookInstalled ( ) : bool
리턴 bool

OnContextMenuRequest() 공개 메소드

Displays the contextual menu
public OnContextMenuRequest ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : void
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Foreground window info
리턴 void

OnFocusChanged() 공개 메소드

Invoked when the foreground window focus changes. Display the scanner depending on the context.
public OnFocusChanged ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, bool &handled ) : void
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Foreground window info
handled bool set to true if handled
리턴 void

OnFocusLost() 공개 메소드

Focus shifted to another app. This agent is getting deactivated.
public OnFocusLost ( ) : void
리턴 void

OnRunCommand() 공개 메소드

Invoked to run a command from all the Outlook contextual menus
public OnRunCommand ( String command, object commandArg, bool &handled ) : void
command String The command to execute
commandArg object Optional arguments for the command
handled bool set this to true if handled
리턴 void

OutlookAgentBase() 공개 메소드

Initializes an instance of hte class
public OutlookAgentBase ( ) : System
리턴 System

actuateStandardControl() 보호된 메소드

Actuates a standard windows control such as a button, checkbox etc.
protected actuateStandardControl ( ControlType ctrlType ) : bool
ctrlType System.Windows.Automation.ControlType Type of the control
리턴 bool

attachFile() 보호된 메소드

Attaches a file to the current email being composed. Launches the file browser to get the file to attach from the user. Sends a command to bring up the Outlook "Insert File" dialog. Inserts the filename into the file name field in the dialog
protected attachFile ( ) : void
리턴 void

createEditControlTextInterface() 보호된 메소드

Creates an edit control text agent to manipulate text in the target text control that's currently active. the 'handled' param is set to true if it was handled successfully.
protected createEditControlTextInterface ( IntPtr handle, AutomationElement focusedElement, bool &handled ) : ACAT.Lib.Core.AgentManagement.TextInterface.TextControlAgentBase
handle System.IntPtr handle to the active window
focusedElement System.Windows.Automation.AutomationElement the active text control
handled bool true if handled
리턴 ACAT.Lib.Core.AgentManagement.TextInterface.TextControlAgentBase

createKeyLoggerTextInterface() 보호된 메소드

Creates a keylogger interface for all those edit controls that don't support the TextPattern. Depending on the type of the field we enable/disable abbreviations, smart punctuations, learning and spell check
protected createKeyLoggerTextInterface ( IntPtr handle, AutomationElement editTextElement ) : ACAT.Lib.Core.AgentManagement.TextInterface.TextControlAgentBase
handle System.IntPtr handle of the window
editTextElement System.Windows.Automation.AutomationElement edit control automation element
리턴 ACAT.Lib.Core.AgentManagement.TextInterface.TextControlAgentBase

getContextualMenuForWindow() 보호된 메소드

Returns the name of the contextual menu for the window/element currently in focus.
protected getContextualMenuForWindow ( OutlookWindowTypes windowType, String &title ) : String
windowType OutlookWindowTypes Type of window
title String returns the title
리턴 String

getOutlookVersion() 보호된 메소드

Returns the outlook version install on the client machine. 14.0 is Outlook 2010
protected getOutlookVersion ( ) : int
리턴 int

gotoNextField() 보호된 메소드

Tabs to the next field in the window
protected gotoNextField ( ) : void
리턴 void

gotoPreviousField() 보호된 메소드

Tabs to the previous field in the window
protected gotoPreviousField ( ) : void
리턴 void

identifyWindow() 보호된 메소드

Identify the top level window in Outlook
protected identifyWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : OutlookWindowTypes
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
subType OutlookControlSubType The focused Outlook window control element
리턴 OutlookWindowTypes

isAppointmentSchedulingWindow() 보호된 메소드

Is the active window the Appointement scheduling window?
protected isAppointmentSchedulingWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
subType OutlookControlSubType The focused Outlook window control element
리턴 bool

isCalendarWindow() 보호된 메소드

Is the active window the Outlook calendar window?
protected isCalendarWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
리턴 bool

isContactsWindow() 보호된 메소드

Is the active window the "Contacts" window?
protected isContactsWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
리턴 bool

isEmailMsgWindow() 보호된 메소드

Is the active window a new or existing open email window?
protected isEmailMsgWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, bool &isNewMessage, OutlookControlSubType &subType ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
isNewMessage bool true if this is a new email window
subType OutlookControlSubType The focused Outlook window control element
리턴 bool

isInboxWindow() 보호된 메소드

Is the active window the email inbox window?
protected isInboxWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
리턴 bool

isNotesWindow() 보호된 메소드

Is the active window the "Contacts" window?
protected isNotesWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
리턴 bool

isOpenAppointmentWindow() 보호된 메소드

Is the active window an open Appointment window?
protected isOpenAppointmentWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
subType OutlookControlSubType The focused Outlook window control element
리턴 bool

isOpenContactWindow() 보호된 메소드

Is the active window an open "Contact" window?
protected isOpenContactWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
subType OutlookControlSubType The focused Outlook window control element
리턴 bool

isOpenNoteWindow() 보호된 메소드

Is the active window an open Outlook "Note" window?
protected isOpenNoteWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
subType OutlookControlSubType The focused Outlook window control element
리턴 bool

isOpenTaskWindow() 보호된 메소드

protected isOpenTaskWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo, OutlookControlSubType &subType ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo
subType OutlookControlSubType
리턴 bool

isTasksWindow() 보호된 메소드

Is the active window an open Task window?
protected isTasksWindow ( ACAT.Lib.Core.Utility.WindowActivityMonitorInfo monitorInfo ) : bool
monitorInfo ACAT.Lib.Core.Utility.WindowActivityMonitorInfo Active window info
리턴 bool

프로퍼티 상세

autoSwitchScanners 보호되어 있는 프로퍼티

protected bool autoSwitchScanners
리턴 bool

controlType 보호되어 있는 프로퍼티

The ControlType of the element that currently has focus
protected ControlType,System.Windows.Automation controlType
리턴 System.Windows.Automation.ControlType

outlookControlSubType 공개적으로 프로퍼티

The window element (eg button, edit box) that has focus
public OutlookControlSubType outlookControlSubType
리턴 OutlookControlSubType

outlookInspector 보호되어 있는 프로퍼티

Inspector object that interfaces with the version of Outlook installed on the machine
protected IOutlookInspector outlookInspector
리턴 IOutlookInspector

outlookWindowType 공개적으로 프로퍼티

The window type that has focus - eg, inbox, tasks, contacts, open email etc
public OutlookWindowTypes outlookWindowType
리턴 OutlookWindowTypes