OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
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.