Here is a list of all class members with links to the classes they belong to:
- c -
- callBackPtr
: SeciControls.WinApi.EnumReport
- CallBackPtr()
: SeciControls.WinApi.EnumReport
- CanEditSubBlocks
: SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- canTabBeEdited()
: SeciUserInterface.Dialogs.Tabs.EditTabs
- CascadeAllTabs()
: SeciControls.ViTabControl
- cascadeTabs()
: SeciUserInterface.UserInterface
- CascadeVi()
: SeciControls.DaeHost
- CascadeVis()
: SeciControls.ViHost
- CascadeVIs()
: SeciControls.ViHostWrapper
- cascadeVIsToolStripMenuItem
: SeciControls.ViHost
- cascadeVIsToolStripMenuItem_Click()
: SeciControls.ViHost
- ChangeConfig()
: Seci.Remoting.Bridge
- ChangeConfiguration()
: Seci.Remoting.ComInterface
, Seci.Remoting.IComInterface
- ChangeVIPath()
: Sample_Environment_Control_Interface.GUILayout
- chart1
: SeciControls.Graphing.Graph
- CheckBlockInRange()
: Seci.Managers.AlertsMgr
- checkFilledOutandValid()
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- checkFilledOutCorrectly()
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- CheckForInfinity()
: SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- checkForWaitFor()
: Seci.Remoting.Bridge
- CheckForWaitingState()
: Seci.Remoting.Bridge
- CheckGroupsValid()
: Sample_Environment_Control_Interface.GUILayout
- checkInSourceSafe()
: Seci.Helpers.SourceSafe
- CheckInWaiting()
: Seci.Managers.AlertsMgr
- checkOutSourceSafe()
: Seci.Helpers.SourceSafe
- checkTable()
: SeciControls.EditUsers
- checkYRange()
: SeciControls.Graphing.Graph
- chkBigFontsDashboard_CheckChanged()
: SeciUserInterface.Controls.AdvancedOptions
, SeciControls.AdvancedOptions
- chkBlocksLogged_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkDaeAvailable_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkEnabled
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkJournalViewer_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkLogToSingleFile
: SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkMax
: SeciControls.Graphing.GraphLimitsDialog
- chkMax_CheckedChanged()
: SeciControls.Graphing.GraphLimitsDialog
- chkMin
: SeciControls.Graphing.GraphLimitsDialog
- chkMin_CheckedChanged()
: SeciControls.Graphing.GraphLimitsDialog
- chkModifyVis_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkOnlyIfChanged
: SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkOnlyIfChanged_CheckedChanged()
: SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkPlotOnGenie_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkRuncontrol
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkRuncontrol_CheckedChanged()
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkSaveSettings
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkShowBeamLogger_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkShowLostTime_CheckChanged()
: SeciUserInterface.Controls.AdvancedOptions
- chkShowZero1
: SeciUserInterface.Dialogs.Graphs.ConfigureGraph
- chkShowZero2
: SeciUserInterface.Dialogs.Graphs.ConfigureGraph
- chkTwoGenies_CheckChanged()
: SeciUserInterface.Controls.AdvancedOptions
, SeciControls.AdvancedOptions
- chkUnderRC
: SeciUserInterface.Forms.EditRunControl
- chkUsePython_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkUserCanSave_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkUseY2
: SeciUserInterface.Dialogs.Graphs.AddEditPlot
- chkVisAvailable_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkVisible
: SeciUserInterface.Dialogs.Blocks.AddEditBlock
- chkWebDashEnabled_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- chkWebTitleEnabled_CheckChanged()
: SeciControls.AdvancedOptions
, SeciUserInterface.Controls.AdvancedOptions
- Clear()
: Seci.BlockDictionary
, Seci.ComponentList
, Seci.SerialisableList< T >
- ClearAlerts()
: Seci.Managers.AlertsMgr
- ClearAllPlotData()
: SeciControls.Graphing.Graph
- ClearDatabaseQueues()
: Seci.Managers.SeciMgr
- ClearFiles()
: SeciControls.IniEditor
- ClearGraphPoints()
: SeciControls.Graphing.GraphWrapper
- ClearGraphRequested
: Seci.Managers.SeciMgr
- clearGraphs()
: SeciUserInterface.UserInterface
- ClearGraphs()
: Seci.Managers.SeciMgr
, Seci.Remoting.Bridge
, Seci.Remoting.ComInterface
, Seci.Remoting.IComInterface
, Seci.Remoting.ReadWriteRemoting
- ClearGroup()
: Sample_Environment_Control_Interface.Group
- ClearMessages()
: SeciControls.EventViewer
, SeciControls.MessagesControl
, SeciControls.MessagesWrapper
- clearOutLabViewLogs()
: Seci.Managers.SeciMgr
- clearPointsToolStripMenuItem
: SeciControls.Graphing.Graph
- clearPointsToolStripMenuItem_Click()
: SeciControls.Graphing.Graph
- ClearQueues()
: Seci.Helpers.DatabaseLogger
- Client
: Seci.Remoting.ComNetInterface
- Clone()
: Seci.Definitions.BlockInfo
, Seci.LabView.LabViewPanelInfo
, Seci.Tools.PhoneNumbersList
, Seci.Tools.AlertsBox
, Seci.BlockDictionary
, Seci.SerialisableList< T >
- CloseConfiguration()
: Seci.Managers.ConfigurationMgr
- closeConfigurationToolStripMenuItem
: Sample_Environment_Control_Interface.SECI_GUI
- closeConfigurationToolStripMenuItem_Click()
: Sample_Environment_Control_Interface.SECI_GUI
- CloseDatabase()
: Seci.Helpers.DatabaseLogger
, Seci.Helpers.DatabaseWriter
- CloseForm()
: Sample_Environment_Control_Interface.GeneralSplashScreen
- CloseForReal
: SeciControls.HelpBrowser
- CloseSeci()
: Seci.Managers.SeciMgr
- CloseVI()
: Seci.LabView.LabViewApp
- colAdd
: Sample_Environment_Control_Interface.Dialogs.VI.AddVI
, SeciUserInterface.Dialogs.VIs.AddVI
- colBlock
: Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
- colBlockName
: Sample_Environment_Control_Interface.Dialogs.Blocks.SetNexusInfo
- colComp
: Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
- colComponent
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, Sample_Environment_Control_Interface.Dialogs.Blocks.SetNexusInfo
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colCount
: SeciControls.MessagesControl
- colCurrent
: Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
- colDate
: Sample_Environment_Control_Interface.Dialogs.Messages.SECI_Errors
, SeciControls.MessagesControl
, Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
- colDelayAfter
: Sample_Environment_Control_Interface.Dialogs.VI.SetVIProperties
, SeciUserInterface.Dialogs.VIs.SetVIProperties
- colEnabled
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colFront
: Sample_Environment_Control_Interface.Dialogs.VI.AddVI
, SeciUserInterface.Dialogs.VIs.AddVI
- colGroup
: SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colIndex
: SeciUserInterface.Dialogs.VIs.SetVIProperties
- colInRange
: Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
, SeciUserInterface.Forms.RunControlViewer
- colInstitute
: SeciControls.EditUsers
- colIsQuestion
: SeciControls.MessagesControl
- colLower
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Forms.RunControlViewer
- colMessage
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
, Sample_Environment_Control_Interface.Dialogs.Messages.SECI_Errors
, SeciControls.MessagesControl
- colMessageType
: SeciControls.MessagesControl
- colName
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, Sample_Environment_Control_Interface.Dialogs.VI.AddVI
, Sample_Environment_Control_Interface.Dialogs.VI.SetVIProperties
, SeciControls.EditUsers
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Dialogs.VIs.AddVI
, SeciUserInterface.Dialogs.VIs.SetVIProperties
, SeciUserInterface.Forms.RunControlViewer
- colNexusGroup
: Sample_Environment_Control_Interface.Dialogs.Blocks.SetNexusInfo
- colNexusName
: Sample_Environment_Control_Interface.Dialogs.Blocks.SetNexusInfo
- colNo
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
, SeciControls.MessagesControl
- colQuestion
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
- colRole
: SeciControls.EditUsers
- colRuncontrol
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colRunControl
: Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
, SeciUserInterface.Forms.RunControlViewer
- colSetpoint
: SeciUserInterface.Forms.RunControlViewer
- colSource
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
, Sample_Environment_Control_Interface.Dialogs.Messages.SECI_Errors
, SeciControls.MessagesControl
- colStart
: Sample_Environment_Control_Interface.Dialogs.VI.SetVIProperties
, SeciUserInterface.Dialogs.VIs.SetVIProperties
- colTime
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
, Sample_Environment_Control_Interface.Dialogs.Messages.SECI_Errors
, SeciControls.MessagesControl
- colType
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
- colUnits
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colUpper
: SeciUserInterface.Forms.RunControlViewer
, Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colValue
: SeciUserInterface.Forms.RunControlViewer
- ColVI
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- colVisible
: Sample_Environment_Control_Interface.Dialogs.VI.SetVIProperties
, SeciUserInterface.Dialogs.VIs.SetVIProperties
- colYes
: Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
, SeciControls.MessagesControl
- comBlocks
: SeciUserInterface.Dialogs.Alerts.AddAlert
, SeciUserInterface.Dialogs.Graphs.AddEditPlot
- comBlocks_SelectedIndexChanged()
: SeciUserInterface.Dialogs.Alerts.AddAlert
- comboRate
: SeciUserInterface.Dialogs.Graphs.ConfigureGraph
- comDate_SelectionChanged()
: SeciControls.RBFinder
- comFormatting
: SeciUserInterface.Dialogs.Blocks.AddEditBlock
- ComInterface()
: Seci.Remoting.ComInterface
- CommandLineHost()
: SeciControls.CommandLineHost
- CommandLineWrapper()
: SeciControls.CommandLineWrapper
- comName
: SeciControls.AddBeamlineParameter
, SeciControls.AddSampleParameter
- comName_SelectionChanged()
: SeciControls.RBFinder
- ComNetInterface()
: Seci.Remoting.ComNetInterface
- ComponentName
: SeciUserInterface.Dialogs.SubConfigs.SelectSubConfig
- ComponentOrder()
: Sample_Environment_Control_Interface.Dialogs.Config.ComponentOrder
- ComponentOrder_Load()
: Sample_Environment_Control_Interface.Dialogs.Config.ComponentOrder
- components
: SeciUserInterface.Dialogs.AssocFiles.RemoveFile
, Sample_Environment_Control_Interface.Dialogs.Config.ComponentOrder
, SeciUserInterface.Dialogs.Graphs.AddEditPlot
, SeciUserInterface.Dialogs.Graphs.ConfigureGraph
, SeciUserInterface.Dialogs.Graphs.ConfigureGraphs
, Sample_Environment_Control_Interface.Dialogs.Exe.RemoveExe
- Components
: Seci.Definitions.Configuration
- components
: SeciUserInterface.Dialogs.SubConfigs.RemoveSubConfig
, SeciUserInterface.Dialogs.Tabs.EditTabs
, SeciUserInterface.Dialogs.VIs.AddVI
, SeciUserInterface.Dialogs.VIs.SetVIProperties
, SeciUserInterface.Forms.RunControlViewer
, Sample_Environment_Control_Interface.Dialogs.Associated_Files.AddFiles
- Components
: Seci.ComponentList
- components
: Sample_Environment_Control_Interface.Dialogs.Config.AddConfig
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
, Sample_Environment_Control_Interface.Dialogs.Blocks.RunControlViewer
- Components
: Seci.Managers.ComponentMgr
, Seci.Managers.ConfigurationMgr
- components
: SeciControls.MessagesControl
, SeciControls.EditUsers
, SeciUserInterface.Forms.EditRunControl
, SeciUserInterface.Dialogs.Blocks.OrderGroups
, Sample_Environment_Control_Interface.SECI_GUI
, Sample_Environment_Control_Interface.Dialogs.VI.SetVIProperties
, Sample_Environment_Control_Interface.Dialogs.Messages.SeciMessages
, Sample_Environment_Control_Interface.Dialogs.Messages.SECI_Errors
, SeciUserInterface.Dialogs.Tabs.NameTab
, SeciUserInterface.Dialogs.Tabs.AddVi
, Sample_Environment_Control_Interface.Dialogs.Layout.Configure_BlockViewer
, Sample_Environment_Control_Interface.Dialogs.Help.HelpForm
, Sample_Environment_Control_Interface.Dialogs.Exe.AddExe
, Sample_Environment_Control_Interface.Dialogs.Config.RemoveComponent
, SeciControls.AddSampleParameter
, Sample_Environment_Control_Interface.Dialogs.Config.AddComponent
, Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Exes.AddExe
, SeciUserInterface.Dialogs.VIs.RemoveVI
, SeciUserInterface.Dialogs.Manager.ManagerLogin
, SeciUserInterface.Dialogs.Exes.RemoveExe
, SeciUserInterface.Dialogs.Blocks.AddGroup
, SeciControls.Graphing.Graph
, SeciUserInterface.Dialogs.Alerts.AddAlert
, SeciControls.Graphing.GraphLimitsDialog
, SeciControls.Menu
, Sample_Environment_Control_Interface.Dialogs.Associated_Files.RemoveFiles
, Sample_Environment_Control_Interface.Dialogs.Blocks.SetNexusInfo
, SeciControls.DaeHost
, Sample_Environment_Control_Interface.Dialogs.Config.NewConfig
, Sample_Environment_Control_Interface.Dialogs.Help.AboutBox
, Sample_Environment_Control_Interface.GeneralSplashScreen
, Sample_Environment_Control_Interface.Dialogs.Layout.Groups.AddEditGroup
, Sample_Environment_Control_Interface.Dialogs.Layout.Groups.GroupProgs
, Sample_Environment_Control_Interface.Dialogs.Manager.ManagerLogin
, Sample_Environment_Control_Interface.Dialogs.Messages.LabView_Errors
, Sample_Environment_Control_Interface.Dialogs.VI.AddVI
, Sample_Environment_Control_Interface.Dialogs.VI.RemoveVI
, SeciControls.CommandLineHost
, Sample_Environment_Control_Interface.Dialogs.Messages.Generic_PopUp
, SeciControls.ViHost
, SeciControls.Generic_PopUp
, SeciControls.AddBeamlineParameter
, Sample_Environment_Control_Interface.Dialogs.Layout.Configure_RunInfo
, SeciUserInterface.Dialogs.AssocFiles.AddFile
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- componentsToolStripMenuItem
: Sample_Environment_Control_Interface.SECI_GUI
- compsBlocksNexus
: Sample_Environment_Control_Interface.Dialogs.Blocks.SetNexusInfo
- comRead_SelectedIndexChanged()
: SeciUserInterface.Dialogs.Blocks.AddEditBlock
- comType
: SeciControls.AddBeamlineParameter
, SeciControls.AddSampleParameter
- comType2
: SeciControls.AddSampleParameter
, SeciControls.AddBeamlineParameter
- comType_SelectedIndexChanged()
: SeciControls.AddBeamlineParameter
, SeciControls.AddSampleParameter
- comVI_SelectedIndexChanged()
: Sample_Environment_Control_Interface.Dialogs.Blocks.AddEditBlock
, SeciUserInterface.Dialogs.Blocks.AddEditBlock
- ConfigChangeRequested
: Seci.Managers.ConfigurationMgr
- ConfigDir
: Seci.Definitions.Status
- ConfigName
: Seci.Managers.ConfigurationMgr
, Seci.Definitions.Configuration
- Configuration()
: Seci.Definitions.Configuration
, SeciUserInterface.Dialogs.Alerts.BlockEntry
- ConfigurationMgr_ConfigChangeRequested()
: SeciUserInterface.UserInterface
- configurationsToolStripMenuItem
: Sample_Environment_Control_Interface.SECI_GUI
- configurationToolStripMenuItem
: Sample_Environment_Control_Interface.SECI_GUI
- Configure_BlockViewer()
: Sample_Environment_Control_Interface.Dialogs.Layout.Configure_BlockViewer
- Configure_RunInfo()
: Sample_Environment_Control_Interface.Dialogs.Layout.Configure_RunInfo
- Configure_RunInfo_Load()
: Sample_Environment_Control_Interface.Dialogs.Layout.Configure_RunInfo
, Sample_Environment_Control_Interface.Dialogs.Layout.Configure_BlockViewer
- ConfigureAlertSystem()
: SeciUserInterface.Dialogs.Alerts.ConfigureAlertSystem
- ConfigureBlocks()
: Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
, SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
- configureBlocks_Load()
: SeciUserInterface.Dialogs.Blocks.ConfigureBlocks
, Sample_Environment_Control_Interface.Dialogs.Blocks.ConfigureBlocks
- configureBlocksToolStripMenuItem
: Sample_Environment_Control_Interface.SECI_GUI
- configureBlocksToolStripMenuItem_Click()
: Sample_Environment_Control_Interface.SECI_GUI
- ConfigureGraph()
: SeciUserInterface.Dialogs.Graphs.ConfigureGraph
- ConfigureGraph_Load()
: SeciUserInterface.Dialogs.Graphs.ConfigureGraph
- ConfigureGraphs()
: SeciUserInterface.Dialogs.Graphs.ConfigureGraphs
- ConfigureGraphs_Load()
: SeciUserInterface.Dialogs.Graphs.ConfigureGraphs
- configureLabVIEW()
: Seci.LabView.LabViewApp
- connectToIcp()
: Seci.Standard.Dae
- Contact()
: SeciControls.Contact
- Contains()
: Seci.SerialisableList< T >
, Seci.BlockDictionary
- ContainsProg()
: Sample_Environment_Control_Interface.Group
- contentsToolStripMenuItem
: Sample_Environment_Control_Interface.SECI_GUI
- contentsToolStripMenuItem_Click()
: Sample_Environment_Control_Interface.SECI_GUI
- contextMenuStrip1
: SeciControls.Graphing.Graph
, SeciControls.ViHost
- ConvertFileToByteArray()
: Seci.Definitions.AssociatedFile
- convertTimeToString()
: Seci.Definitions.BlockInfo
- correctLimit()
: Seci.Helpers.DatabaseWriter
- correctOldSeciBlocks()
: Seci.Managers.ConfigurationMgr
- Count
: Seci.Standard.MessageInfo
, Seci.BlockDictionary
, Seci.SerialisableList< T >
, Seci.ComponentList
- CountRate
: Seci.Standard.Dae
- createBorder()
: SeciControls.BlockDisplay
- createEntry()
: Seci.Standard.DaeMonitor
- CreateFile()
: Seci.Definitions.AssociatedFile
- CreateNewConfiguration()
: Seci.Managers.ConfigurationMgr
- CreateOriginal()
: Seci.Definitions.AssociatedFile
- CreateParameter()
: Seci.Standard.SampleParameters
, Seci.Standard.BeamlineParameters
- createProcess()
: SeciControls.CommandLineHost
- createSourceSafeProject()
: Seci.Helpers.SourceSafe
- createStatusBlock()
: Seci.Tools.ValuesUpdater
- createTextBlock()
: SeciControls.BlockDisplay
- current
: Sample_Environment_Control_Interface.Dialogs.Layout.Configure_RunInfo
, Sample_Environment_Control_Interface.Dialogs.Layout.Configure_BlockViewer
- CurrentLayout
: Sample_Environment_Control_Interface.SECI_GUI
- CurrentPeriod
: Seci.Standard.Dae
- CurrentValue
: Seci.Definitions.BlockInfo
- CurrValInfo()
: Seci.Helpers.CurrValInfo