C# (CSharp) SIL.FieldWorks.Common.Widgets Namespace

Classes

Name Description
ComboListBox A "Combo" list box is one that can launch itself as a stand-alone, yet modal window, like the drop-down list in a Combo. It can also be used for other drop-down lists, for example, from an icon button. It is displayed using the Launch method. It is automatically hidden if the user clicks outside it (and the click is absorbed in the process). The item the user is hovering over is highlighted.
ComboTextBox For some reason the embedded text box never gets a layout unless we do this.
DropDownButton
FontHeightAdjusterTests
FwComboBox FwComboBox is a simulation of a regular Windows.Forms.ComboBox. It has much the same interface, though not all events and properties are yet supported. There are two main differences: (1) It is implemented using FieldWorks Views, and hence can render Graphite fonts properly. (2) Item labels can be TsStrings, in which case, formatting of items can vary based on the properties of string runs. To get this behavior, you can (a) Let the items actually be ITsStrings. (b) Let the items implement the SIL.FieldWorks.FDO.ITssValue interface, which has just one property, public ITsString AsTss {get;} You must also pass your writing system factory to the FwComboBox (set the WritingSystemFactory property). Otherwise, the combo box will not be able to interpret the writing systems of any TsStrings it is asked to display. It will improve performance to do this even if you are not using TsString data.
FwComboBoxBase This is an abstract class that provides the basic functionality for a Views-enabled ComboBox. Classes that extend this class provide an implementation of the drop down box.
FwComboMessageFilter Message filter for detecting events that may hide the compbo
FwListBox FwListBox is a simulation of a regular Windows.Forms.ListBox. It has much the same interface, though not all events and properties are yet supported. There are two main differences: (1) It is implemented using FieldWorks Views, and hence can render Graphite fonts properly. (2) Item labels can be TsStrings, in which case, formatting of items can vary based on the properties of string runs. To get this behavior, you can (a) Let the items actually be ITsStrings. (b) Let the items implement the SIL.FieldWorks.FDO.ITssValue interface, which has just one property, public ITsString AsTss {get;} You must also pass your writing system factory to the FwListBox (set the WritingSystemFactory property). Otherwise, the combo box will not be able to interpret the writing systems of any TsStrings it is asked to display. It will improve performance to do this even if you are not using TsString data.
FwListBox.ObjectCollection Like ListBox, FwListBox defines an ObjectCollection class for the items in the list. This class provides a subset of the functionality of the ArrayList used to implement it. The reason for not using an ArrayList is that operations that change the contents of the list have to have side effects on the control.
FwMultilingualPropViewTests
FwMultilingualPropViewTests.DummyFwMultilingualPropViewDataSource
FwPopupMessageFilter Message filter for detecting events that may turn off the insert verse numbers mode
FwTextBox FwTextBox is a simulation of a regular Windows.Forms.TextBox. It has much the same interface, though not all events and properties are yet supported. There are two main differences: (1) It is implemented using FieldWorks Views, and hence can render Graphite fonts properly. (2) You can read and write the contents as an ITsString, using the Tss property, allowing formatting to vary based on the properties of string runs. Although there is not yet any support for the user to alter run properties while inside the FwTextBox, it is possible to paste text from elsewhere in an FW application complete with style information. You must also pass your writing system factory to the FwTextBox (set the WritingSystemFactory property). Otherwise, the combo box will not be able to interpret the writing systems of any TsStrings it is asked to display. It will improve performance to do this even if you are not using TsString data.
FwTextBoxCell Displays editable text information from a FwTextBox in a DataGridView control.
FwTextBoxColumn A column in a DataGridView that consists of FwTextBoxCells.
FwTextBoxTests
FwTreeView We need to subclass TreeView in order to override IsInputChar(), otherwise TreeView will not try to handle TAB keys (cf. LT-2190).
InnerFwListBox InnerFwListBox implements the main body of an FwListBox.
InnerFwTextBox InnerFwTextBox implements the main body of an FwTextBox. Has to be public so combo box can return its text box.
InnerLabeledMultiStringControl
LabeledMultiStringControl LabeledMultiStringControl (used in InsertEntryDlg) has an FdoCache, but it is used only to figure out the writing systems to use; the control works with a dummy cache, object, and flid, and the resulting text must be read back.
LabeledMultiStringView LabeledMultiStringView displays one or more writing system alternatives of a string property. It simply edits that property.
ListBoxVc
MultiStringSelectionUtils A start at refactoring two similar, but different classes to use some shared code. 1. InnerLabeledMultiStringView is a RootSiteControl 2. InnerLabeledMultiStringControl is a SimpleRootSite but which is wrapped in a LabeledMultiStringControl (used in InsertEntryDlg), which is a UserControl.
NativeMethods
NativeMethods.POINT
NativeMethods.TCHITTESTINFO
NativeMethods.WINDOWPOS
PopupTree PopupTree is a form containing a TreeView, designed to pop up like the list of a combo box to allow a one-time choice from a list. Although this is currently implemented using the standard TreeView class, it is possible that a need will arise for items to be rendered using View code, either to support styled text in items, or to support Graphite rendering. For this reason the TreeView is not made public, and only a limited subset of its capabilities is currently exposed.
SilButtonCell
SilButtonColumn
TestFwList
TestListBox
TextBoxDataAccess This is a custom implementation of the ISilDataAccess interface for use by custom Views-enabled text boxes.
TextBoxEditingHelper
TextBoxMetaDataCache A very trivial MDC, just enough to allow styles to be applied to text in the text box.
TextBoxVc
TreeCombo TreeCombo is like a combo box except that it uses a PopupTree to display a hierarchy of options.
UiaWidgetTests
VSTabControl This class supports rendering of TabControl correctly when using bottom alignment with visual styles enabled. When ones are disabled the default method of rendering is used. Adapted from XPTabControl by Vladimir Svyatsky.
VSTabControl.NativeUpDown This class represents low level hook to updown control used to scroll tabs. We need it to know the position of scroller and to draw hot tab as normal when the mouse moves from that tab to scroller.
WritingSystemAndStylesheetHelper helps controls setup WritingSystem[Factory] and Stylesheet related functionality