OWLNext    7.0
Borland's Object Windows Library for the modern age
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
transfer.h File Reference

Utilities for transferring data in and out of controls. More...

#include <owl/dialog.h>
#include <utility>
#include <functional>
#include <algorithm>
#include <type_traits>
#include <initializer_list>

Go to the source code of this file.

Classes

struct  owl::TTransferInfo
 Used to pass information to transfer functions. More...
 
struct  owl::TTransferFormat
 Contains stream formatting parameters for use with TransferDlgItemText. More...
 
struct  owl::detail::TTransferCheckBoxData
 
struct  owl::detail::TTransferCheckListData
 
struct  owl::detail::TTransferComboBoxData
 
struct  owl::detail::TTransferComboBoxExData
 
struct  owl::detail::TTransferDateTimePickerData
 
struct  owl::detail::TTransferDlgItemText
 
struct  owl::detail::TTransferEditData
 
struct  owl::detail::TTransferHotKeyData
 
struct  owl::detail::TTransferIPAddressData
 
struct  owl::detail::TTransferListBoxData
 
struct  owl::detail::TTransferMonthCalendarData
 
struct  owl::detail::TTransferRadioButtonData
 
struct  owl::detail::TTransferScrollBarData
 
struct  owl::detail::TTransferSliderData
 
struct  owl::detail::TTransferStaticData
 
class  owl::TTransferWindow< TDataSource >
 Mix-in class template providing support for data transfer to and from controls. More...
 
class  owl::TTransferDialog< TDataSource, TDialogBase >
 Dialog class derived from TTransferWindow Provides convenient initialization of the dialog and transfer window bases. More...
 
class  owl::TDelegatedTransferWindow
 TWindow mix-in Delegates the job of transferring data to the given function object. More...
 
class  owl::TDelegatedTransferDialog
 Dialog derivative of TDelegatedTransferWindow. More...
 
class  owl::TSelectionIndexMapper< TValue >
 Maps between application-specific value and a selection index, such as a radio-button group index or a list box selection. More...
 

Namespaces

namespace  owl
 Object Windows Library (OWLNext Core)
 
namespace  owl::detail
 

Functions

template<class TCtrl , class TGet , class TSet , class TTransfer >
void owl::detail::Transfer (const TTransferInfo &i, const TCtrl &ctrl, TGet get, TSet set, TTransfer transfer)
 
template<class TCtrl , class TArg1 , class TGet , class TSet , class TTransfer >
void owl::detail::Transfer (const TTransferInfo &i, const TCtrl &ctrl, TArg1 arg1, TGet get, TSet set, TTransfer transfer)
 
template<class TCtrl , class TDataSource , class R , class A , class TTransfer >
void owl::detail::Transfer (const TTransferInfo &i, const TCtrl &ctrl, TDataSource *d, R(TDataSource::*get)() const, void(TDataSource::*set)(A), TTransfer transfer)
 
template<class TCtrl , class TArg1 , class TDataSource , class R , class A , class TTransfer >
void owl::detail::Transfer (const TTransferInfo &i, const TCtrl &ctrl, TArg1 arg1, TDataSource *d, R(TDataSource::*get)() const, void(TDataSource::*set)(A), TTransfer transfer)
 
Utility functions for control data transfer
tstring owl::GetDlgItemText (HWND ctrl)
 String overload.
 
void owl::SetDlgItemText (HWND ctrl, const tstring &text)
 String overload.
 
bool owl::IsChecked (HWND ctrl)
 Returns true if the given control has BST_CHECKED state.
 
bool owl::IsUnchecked (HWND ctrl)
 Returns true if the given control has BST_UNCHECKED state.
 
bool owl::IsIndeterminate (HWND ctrl)
 Returns true if the given control has BST_INDETERMINATE state.
 
void owl::CheckDlgButton (HWND ctrl, bool checked=true)
 Sets the state of the given control to BST_CHECKED (or BST_UNCHECKED).
 
void owl::UncheckDlgButton (HWND ctrl, bool unchecked=true)
 Sets the state of the given control to BST_UNCHECKED (or BST_CHECKED).
 
int owl::GetSelectedRadioButtonIndex (HWND firstCtrl)
 Returns the zero-based index of the selected radiobutton in the group of controls starting with the given control.
 
void owl::SetSelectedRadioButtonIndex (HWND firstCtrl, int selIndex)
 Selects the control with the given zero-based index in the group of controls starting with the given control.
 
Utility functions for control data transfer - integer child ID overloads
tstring owl::GetDlgItemText (HWND parent, int ctrl)
 
void owl::SetDlgItemText (HWND parent, int ctrl, const tstring &text)
 
bool owl::IsChecked (HWND parent, int ctrl)
 
bool owl::IsUnchecked (HWND parent, int ctrl)
 
bool owl::IsIndeterminate (HWND parent, int ctrl)
 
void owl::CheckDlgButton (HWND parent, int ctrl, int state)
 
void owl::CheckDlgButton (HWND parent, int ctrl, bool checked=true)
 
void owl::UncheckDlgButton (HWND parent, int ctrl, bool unchecked=true)
 
int owl::GetSelectedRadioButtonIndex (HWND parent, int ctrl)
 
void owl::SetSelectedRadioButtonIndex (HWND parent, int ctrl, int selIndex)
 
Transfer utility functions
void owl::TransferCheckBoxData (const TTransferInfo &, HWND ctrl, bool &b)
 Transfers the state of the checkbox to the given bool variable.
 
void owl::TransferCheckBoxData (const TTransferInfo &, HWND ctrl, UINT &state)
 Transfers the state of the checkbox to the given integer variable.
 
void owl::TransferCheckListData (const TTransferInfo &, HWND ctrl, TCheckListData &data)
 Transfers all the data for a check list box.
 
void owl::TransferComboBoxData (const TTransferInfo &, HWND ctrl, TComboBoxData &data)
 Transfers all the data for a combo box control.
 
void owl::TransferComboBoxData (const TTransferInfo &, HWND ctrl, int &selIndex)
 Transfers the selection index of a combo box control.
 
void owl::TransferComboBoxData (const TTransferInfo &, HWND ctrl, tstring &selString, bool exact=false)
 Transfers the selection string of a combo box control.
 
void owl::TransferComboBoxExData (const TTransferInfo &, HWND ctrl, TComboBoxExData &data)
 Transfers all the data for an extended combo box control.
 
void owl::TransferDateTimePickerData (const TTransferInfo &, HWND ctrl, TDateTimePickerData &data)
 Transfers all the data for a date and time picker control.
 
void owl::TransferDateTimePickerData (const TTransferInfo &, HWND ctrl, TSystemTime &selTime)
 Transfers the selected date and time of a date and time picker control.
 
void owl::TransferDateTimePickerData (const TTransferInfo &, HWND ctrl, tstring &selTime)
 Transfers the selected date and time of a date and time picker control as a string.
 
void owl::TransferDlgItemText (const TTransferInfo &, HWND ctrl, tstring &text)
 Transfers the text contents of a control.
 
template<class T >
void owl::TransferDlgItemText (const TTransferInfo &i, HWND ctrl, T &value, const TTransferFormat &f)
 Transfers the lexical conversion of the text contents of a control using the given format.
 
template<class T >
void owl::TransferDlgItemText (const TTransferInfo &, HWND, T *value, const TTransferFormat &)
 Overload - won't compile The sole purpose of this overload is to forbid pointers.
 
template<class T >
void owl::TransferDlgItemText (const TTransferInfo &i, HWND ctrl, T &value)
 Transfers the lexical conversion of the text contents of a control.
 
template<class T >
void owl::TransferEditData (const TTransferInfo &i, HWND ctrl, T &value)
 Transfers the lexical conversion of the text contents of an edit control.
 
template<class T >
void owl::TransferEditData (const TTransferInfo &i, HWND ctrl, T &value, const TTransferFormat &f)
 Transfers the lexical conversion of the text contents of an edit control using the given format.
 
void owl::TransferHotKeyData (const TTransferInfo &, HWND ctrl, uint16 &key)
 Transfers the hotkey value of a hotkey control.
 
void owl::TransferIPAddressData (const TTransferInfo &, HWND ctrl, TIPAddressBits &data)
 Transfers the address of a IP address control as an object.
 
void owl::TransferIPAddressData (const TTransferInfo &, HWND ctrl, uint32 &data)
 Transfers the address for a IP address control as a 32-bit value.
 
void owl::TransferListBoxData (const TTransferInfo &, HWND ctrl, TListBoxData &data)
 Transfers all the data for a list box control.
 
void owl::TransferListBoxData (const TTransferInfo &, HWND ctrl, int &selIndex)
 Transfers the selection index of a list box control.
 
void owl::TransferListBoxData (const TTransferInfo &, HWND ctrl, tstring &selString, bool exact=false)
 Transfers the selection string of a list box control.
 
void owl::TransferMonthCalendarData (const TTransferInfo &, HWND ctrl, TMonthCalendarData &data)
 Transfers all the data for a calendar control.
 
void owl::TransferMonthCalendarData (const TTransferInfo &, HWND ctrl, TSystemTime &curSel)
 Transfers the selected date and time of a calendar control.
 
void owl::TransferMonthCalendarData (const TTransferInfo &, HWND ctrl, std::pair< TSystemTime, TSystemTime > &rangeSel)
 Transfers the selection range of a calendar control.
 
void owl::TransferRadioButtonData (const TTransferInfo &, HWND ctrl, int &selIndex)
 Transfers the index of the selected radio button within a group.
 
void owl::TransferScrollBarData (const TTransferInfo &, HWND ctrl, TScrollBarData &data)
 Transfers all the data for a scroll bar control.
 
void owl::TransferScrollBarData (const TTransferInfo &, HWND ctrl, int &position)
 Transfers the current position of a scroll bar control.
 
void owl::TransferSliderData (const TTransferInfo &, HWND ctrl, TScrollBarData &data)
 Transfers all the data for a slider control.
 
void owl::TransferSliderData (const TTransferInfo &, HWND ctrl, int &position)
 Transfers the current position of a slider control.
 
template<class T >
void owl::TransferStaticData (const TTransferInfo &i, HWND ctrl, T &value)
 Transfers the lexical conversion of the text contents of a static control.
 
template<class T >
void owl::TransferStaticData (const TTransferInfo &i, HWND ctrl, T &value, const TTransferFormat &f)
 Transfers the lexical conversion of the text contents of a static control using the given format.
 
Transfer utility functions - integer child ID overloads
template<class T >
void owl::TransferCheckBoxData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the state of the checkbox to the given variable.
 
void owl::TransferCheckListData (const TTransferInfo &i, int ctrl, TCheckListData &data)
 Transfers all the data for an a check list box.
 
template<class T >
void owl::TransferComboBoxData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the data or selection index of a combo box control.
 
void owl::TransferComboBoxData (const TTransferInfo &i, int ctrl, tstring &selString, bool exact=false)
 Transfers the selection string of a combo box control.
 
void owl::TransferComboBoxExData (const TTransferInfo &i, int ctrl, TComboBoxExData &data)
 Transfers all the data for an extended combo box control.
 
template<class T >
void owl::TransferDateTimePickerData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the data or selected date and time of a date and time picker.
 
template<class T >
void owl::TransferDlgItemText (const TTransferInfo &i, int ctrl, T &value)
 Transfers the lexical conversion of the text contents of a control.
 
template<class T >
void owl::TransferDlgItemText (const TTransferInfo &i, int ctrl, T &value, const TTransferFormat &f)
 Transfers the lexical conversion of the text contents of a control using the given format.
 
template<class T >
void owl::TransferEditData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the lexical conversion of the text contents of an edit control.
 
template<class T >
void owl::TransferEditData (const TTransferInfo &i, int ctrl, T &value, const TTransferFormat &f)
 Transfers the lexical conversion of the text contents of an edit control using the given format.
 
void owl::TransferHotKeyData (const TTransferInfo &i, int ctrl, uint16 &key)
 Transfers the hotkey value of a hotkey control.
 
template<class T >
void owl::TransferIPAddressData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the address for a IP address control.
 
template<class T >
void owl::TransferListBoxData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the data or selection index of a list box control.
 
void owl::TransferListBoxData (const TTransferInfo &i, int ctrl, tstring &selString, bool exact=false)
 Transfers the selection string of a list box control.
 
template<class T >
void owl::TransferMonthCalendarData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the data or selected date and time of a calendar control.
 
void owl::TransferRadioButtonData (const TTransferInfo &i, int ctrl, int &selIndex)
 Transfers the index of the selected radio button within a group.
 
template<class T >
void owl::TransferScrollBarData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the data or current position of a scroll bar control.
 
template<class T >
void owl::TransferSliderData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the data or current position of a slider control.
 
template<class T >
void owl::TransferStaticData (const TTransferInfo &i, int ctrl, T &value)
 Transfers the lexical conversion of the text contents of a static control.
 
template<class T >
void owl::TransferStaticData (const TTransferInfo &i, int ctrl, T &value, const TTransferFormat &f)
 Transfers the lexical conversion of the text contents of a static control using the given format.
 
Transfer utility functions - DDX-like overloads
void owl::DDX_CBIndex (const TTransferInfo &i, int id, int &selIndex)
 Transfers the selection index of a combo box control.
 
void owl::DDX_CBString (const TTransferInfo &i, int id, tstring &selString)
 Transfers the selection string of a combo box control.
 
void owl::DDX_CBStringExact (const TTransferInfo &i, int id, tstring &selString)
 Transfers the exact selection string of a combo box control.
 
void owl::DDX_Check (const TTransferInfo &i, int id, UINT &state)
 Transfers the state of the checkbox to the given integer variable.
 
void owl::DDX_DateTimeCtrl (const TTransferInfo &i, int id, TSystemTime &selTime)
 Transfers the selected date and time of a date and time picker control.
 
void owl::DDX_DateTimeCtrl (const TTransferInfo &i, int id, tstring &selTime)
 Transfers the selected date and time of a date and time picker control as a string.
 
void owl::DDX_HotKey (const TTransferInfo &i, int id, uint16 &key)
 Transfers the hotkey value of a hotkey control.
 
void owl::DDX_IPAddress (const TTransferInfo &i, int id, uint32 &data)
 Transfers the address for a IP address control as a 32-bit value.
 
void owl::DDX_LBIndex (const TTransferInfo &i, int id, int &selIndex)
 Transfers the selection index of a list box control.
 
void owl::DDX_LBString (const TTransferInfo &i, int id, tstring &selString)
 Transfers the selection string of a list box control.
 
void owl::DDX_LBStringExact (const TTransferInfo &i, int id, tstring &selString)
 Transfers the exact selection string of a list box control.
 
void owl::DDX_MonthCalCtrl (const TTransferInfo &i, int id, TSystemTime &curSel)
 Transfers the selected date and time of a calendar control.
 
void owl::DDX_Radio (const TTransferInfo &i, int id, int &selIndex)
 Transfers the index of the selected radio button within a group.
 
void owl::DDX_Scroll (const TTransferInfo &i, int id, int &position)
 Transfers the current position of a scroll bar control.
 
void owl::DDX_Slider (const TTransferInfo &i, int id, int &position)
 Transfers all the data for a slider control.
 
template<class T >
void owl::DDX_Text (const TTransferInfo &i, int id, T &value)
 Transfers the lexical conversion of the text contents of a static control.
 
Transfer utility functions - indirect transfer via member functions
template<class TCtrl , class D , class R , class A >
void owl::TransferCheckBoxData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers the state of the checkbox using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferCheckListData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a check list box using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferComboBoxData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a combo box using the given data source and member functions.
 
template<class TCtrl , class TArg1 , class D , class R , class A >
void owl::TransferComboBoxData (const TTransferInfo &i, const TCtrl &ctrl, TArg1 arg1, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a combo box using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferDateTimePickerData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a date and time picker control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferDlgItemText (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers the text contents of a control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferDlgItemText (const TTransferInfo &i, const TCtrl &ctrl, const TTransferFormat &f, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers the text contents of a control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferEditData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a edit control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferEditData (const TTransferInfo &i, const TCtrl &ctrl, const TTransferFormat &f, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a edit control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferHotKeyData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a hotkey control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferIPAddressData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for an IP address control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferListBoxData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a list box using the given data source and member functions.
 
template<class TCtrl , class TArg1 , class D , class R , class A >
void owl::TransferListBoxData (const TTransferInfo &i, const TCtrl &ctrl, TArg1 arg1, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a list box using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferMonthCalendarData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a list box using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferRadioButtonData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers the index of the selected radio button within a group using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferScrollBarData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a scroll bar control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferSliderData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a slider control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferStaticData (const TTransferInfo &i, const TCtrl &ctrl, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a static control using the given data source and member functions.
 
template<class TCtrl , class D , class R , class A >
void owl::TransferStaticData (const TTransferInfo &i, const TCtrl &ctrl, const TTransferFormat &f, D *d, R(D::*get)() const, void(D::*set)(A))
 Transfers data for a static control using the given data source and member functions.
 
Transfer utility functions - indirect transfer via functors
template<class TCtrl , class G , class S >
void owl::TransferCheckBoxData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers the state of the checkbox using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferCheckListData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a check list box using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferComboBoxData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a combo box using the given functors.
 
template<class TCtrl , class TArg1 , class G , class S >
void owl::TransferComboBoxData (const TTransferInfo &i, const TCtrl &ctrl, TArg1 arg1, G get, S set)
 Transfers data for a combo box using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferDateTimePickerData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a date and time picker control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferDlgItemText (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers the text contents of a control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferDlgItemText (const TTransferInfo &i, const TCtrl &ctrl, const TTransferFormat &f, G get, S set)
 Transfers the text contents of a control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferEditData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a edit control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferEditData (const TTransferInfo &i, const TCtrl &ctrl, const TTransferFormat &f, G get, S set)
 Transfers data for a edit control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferHotKeyData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a hotkey control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferIPAddressData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for an IP address control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferListBoxData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a list box using the given functors.
 
template<class TCtrl , class TArg1 , class G , class S >
void owl::TransferListBoxData (const TTransferInfo &i, const TCtrl &ctrl, TArg1 arg1, G get, S set)
 Transfers data for a list box using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferMonthCalendarData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a list box using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferRadioButtonData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers the index of the selected radio button within a group using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferScrollBarData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a scroll bar control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferSliderData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a slider control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferStaticData (const TTransferInfo &i, const TCtrl &ctrl, G get, S set)
 Transfers data for a static control using the given functors.
 
template<class TCtrl , class G , class S >
void owl::TransferStaticData (const TTransferInfo &i, const TCtrl &ctrl, const TTransferFormat &f, G get, S set)
 Transfers data for a static control using the given functors.
 

Detailed Description

Utilities for transferring data in and out of controls.

Definition in file transfer.h.