class PComboBox: public PControl

A combination of an edit text box and a drop down list box.

Inheritance:


Public Classes

[more]enum StringSorting
Option for the strings in the choice box.

Public Methods

[more] PComboBox ( PInteractor * parent, StringSorting sorted = NotSorted )
Create a combo-box with optional sorting of the list box items.
[more] PComboBox ( PInteractorLayout * parent, PRESOURCE_ID ctlID, const PNotifier & notify, PString * valuePtr )
Create control from interactor layout with the specified control ID.
[more] ~PComboBox ()
Destroy the combo-box and its contents.
[more]virtual BOOL OnEndInput ()
The system calls this whenever the system wishes to change focus to another interactor in a given PTitledWindow or PInteractorLayout.
[more]virtual void TransferValue ( int option )
This function transfers the value of the control to or from the variable pointed to by the value pointer member variable.
[more]void SetText ( const PString & str )
Set the text in the edit text part of the combo-box.
[more]PString GetText () const
Get the text in the edit text part of the combo-box.
[more]PString* GetValuePointer () const
Get the current value pointer associated with the control.
[more]void SetValuePointer ( PString * ptr )
Set the current value pointer associated with the control.
[more]void SetMaxText ( PINDEX max )
Set the maximum amount of text that the user may enter in the combo-box edit text part.
[more]PINDEX GetLength () const
Get the current length of the text entered into the edit box.
[more]void SetSelection ( PINDEX start = 0, PINDEX finish = P_MAX_INDEX )
Set the selected region in the text within the edit box.
[more]BOOL GetSelection ( PINDEX * start = NULL, PINDEX * finish = NULL ) const
Get the selected region in the text in the edit box.
[more]void Cut ()
Cut the selected text to the clipboard.
[more]void Copy () const
Copy the selected text to the clipboard.
[more]void Paste ()
Paste into the edit control from the clipboard into the edit box at the current caret position.
[more]void Clear ()
Delete the selected text.
[more]PINDEX AddString ( const PString & str )
Add a new string to the list box.
[more]void AddStrings ( const PCollection & objects )
Add a collection of new entries to the combo-box.
[more]void InsertString ( const PString & str, PINDEX index )
Insert a string at the specified location.
[more]void DeleteString ( PINDEX index )
Delete a string from the list of choices in the combo-box.
[more]void DeleteAllStrings ()
Delete all the strings in the list box.
[more]PINDEX FindString ( const PString & str, PINDEX startIndex = P_MAX_INDEX, BOOL exact = FALSE ) const
Find the string in the list of choices starting at the entry after the specified starting index.
[more]void SetString ( const PString & str, PINDEX index )
Set the string at the index position.
[more]PString GetString ( PINDEX index ) const
Get the string at the index.
[more]PINDEX GetCount () const
Get the count of the number of items in the list of choices in the combo-box.
[more]void SetCurrent ( PINDEX index )
Set the current selection to the string specified by the index.
[more]PINDEX GetCurrent () const
Get the current selection.

Public

[more] Codes passed to the PNotifier function when the specified notification events occur
[more] Overrides from class PInteractor
[more] Overrides from class PControl
[more] New functions for class

Protected Fields

[more]BOOL sort
The coice box strings are sorted.


Inherited from PControl:

Public Fields

oPRESOURCE_ID controlID

Public Methods

ovirtual PBalloon* OnBalloonHelp()
ovirtual BOOL IsTabStop() const
oPRESOURCE_ID GetControlID() const
ovoid SetControlID( PRESOURCE_ID theID )
oconst PNotifier& GetNotifier() const
oBOOL WillNotifyOnStateUpdate() const
ovoid SetNotifier( const PNotifier & func, BOOL notifyForStateUpdate = FALSE )
oconst PString& GetBalloonHelp() const
ovoid SetBalloonHelp( const PString & text )
ovirtual void DefaultDimensions()
ovirtual void UpdateMyCommandSources()

Public

PNotifier codes

o Codes passed to the notification function on changes of state.

Protected Fields

oPNotifier callback
ovoid* valuePointer
oBOOL notifyForStateUpdate
oPString balloonHelpText

Protected

Member variables


Inherited from PInteractor:

Public Classes

oenum PositionOrigin
oenum CoordinateSystem
oenum AutoAdjustType

Public Fields

oPCursor cursor

Public Methods

ovirtual Comparison Compare( const PObject & obj ) const
oPInteractor* GetParent() const
oBOOL IsChild( PInteractor * parent ) const
oPINDEX GetNumChildren()
oPInteractor& operator[]( PINDEX index )
ovirtual void UpdateCommandSources()
ovirtual void SetFont( const PFont & newFont, BOOL toChildren = TRUE )
oconst PRealFont& GetFont()
oPDIMENSION ToPixelsDX( PDIMENSION x ) const
oPDIMENSION ToPixelsDY( PDIMENSION y ) const
oPORDINATE ToPixelsX( PORDINATE x ) const
oPORDINATE ToPixelsY( PORDINATE y ) const
oPDim ToPixels( const PDim & dim ) const
oPPoint ToPixels( const PPoint & pt ) const
oPRect ToPixels( const PRect & r ) const
oPDIMENSION FromPixelsDX( PDIMENSION x ) const
oPDIMENSION FromPixelsDY( PDIMENSION y ) const
oPORDINATE FromPixelsX( PORDINATE x ) const
oPORDINATE FromPixelsY( PORDINATE y ) const
oPDim FromPixels( const PDim & dim ) const
oPPoint FromPixels( const PPoint & pt ) const
oPRect FromPixels( const PRect & r ) const
ovoid SetPosition( PORDINATE x, PORDINATE y, PositionOrigin xOrigin = TopLeftParent, PositionOrigin yOrigin = TopLeftParent )
oPPoint GetPosition( CoordinateSystem coords ) const
oPPoint ToScreen( PORDINATE x, PORDINATE y, CoordinateSystem coords ) const
oPPoint FromScreen( PORDINATE x, PORDINATE y, CoordinateSystem coords ) const
ovoid SetDimensions( PDIMENSION width, PDIMENSION height, CoordinateSystem coords )
oPDim GetDimensions( CoordinateSystem coords ) const
oPRect GetStructureBounds( CoordinateSystem coords ) const
ovirtual PRect GetDrawingBounds( CoordinateSystem coords ) const
ovoid AutoAdjustBounds( PRect & bounds, AutoAdjustType type = AdjustBounds )
oBOOL ContainsPoint( const PPoint & pt, CoordinateSystem coords ) const
oPInteractor* FindInteractor( const PPoint & pt, CoordinateSystem coords ) const
ovirtual void Enable( BOOL enabled = TRUE )
ovoid Disable()
oBOOL IsEnabled() const
ovirtual void ShowAll()
ovirtual void Show( BOOL visible = TRUE )
ovoid Hide()
oBOOL IsVisible() const
ovirtual void BringToTop()
ovirtual BOOL IsOnTop() const
ovoid Invalidate( PORDINATE x, PORDINATE y, PDIMENSION width, PDIMENSION height, CoordinateSystem coords )
ovoid Validate( PORDINATE x, PORDINATE y, PDIMENSION width, PDIMENSION height, CoordinateSystem coords )
ovoid Update()
ovoid GrabMouse()
ovoid ReleaseMouse()
oBOOL HasMouse() const
ovoid GrabFocus()
oBOOL HasFocus() const
ovirtual void SetCursor( const PCursor & newCursor )
oPCursor GetCursor() const
ovoid SetCursorToParent( BOOL useParent = TRUE )
ovoid SetAllCursors( const PCursor & newCursor )
ovoid RestoreAllCursors()
ovoid SetWaitCursor()
ovoid SetCursorPos( PORDINATE x, PORDINATE y, CoordinateSystem coords )
oPPoint GetCursorPos( CoordinateSystem coords ) const
ovirtual void ShowCursor( BOOL show = TRUE )
ovoid HideCursor()
ovoid SetCaret( const PCaret & newCaret )
oPCaret GetCaret() const
ovoid SetCaretPos( PORDINATE x, PORDINATE y, CoordinateSystem coords )
oPPoint GetCaretPos( CoordinateSystem coords ) const
ovirtual void ShowCaret(BOOL show = TRUE)
ovoid HideCaret()
ovirtual void SetForegroundColour( const PColour & newColour )
oconst PColour& GetForegroundColour() const
ovirtual void SetBackgroundColour( const PColour & newColour )
oconst PColour& GetBackgroundColour() const
oPDim GetBorderSize() const
oconst PColour& GetBorderColour() const
oPCanvas* StartMouseTrack( BOOL wantsCanvas = FALSE )
ovirtual void OnMouseMove( PKeyCode button, const PPoint & where )
ovirtual void OnMouseDown( PKeyCode button, const PPoint & where, BOOL doubleClick )
ovirtual void OnMouseUp( PKeyCode button, const PPoint & where )
ovirtual BOOL OnKeyDown( PKeyCode key, unsigned repeat )
ovirtual void OnKeyUp( PKeyCode key )
ovirtual void OnKeyInput( const PString & str )
ovirtual void OnGainFocus()
ovirtual void OnLostFocus()
ovirtual void OnStartInput()
ovirtual void OnRedraw( PCanvas & canvas )
ovirtual void OnControlNotify( PControl & control, int option )
ovirtual void OnSelectHelp()
ovirtual void OnMouseTrack( PCanvas * canvas, const PPoint & where, BOOL lastTrack )
ovirtual void _SetPosition( PORDINATE x, PORDINATE y, PositionOrigin xOrigin, PositionOrigin yOrigin )

Public

Overrides from class PObject

System callback functions.

Protected Fields

oPApplication* owner
oPInteractor* parent
oPInteractorList children
oPRealFont font
oPCursor savedCursor
oPCaret caret
oPPoint caretPosition
oint caretVisible
oPColour foregroundColour
oPColour backgroundColour
oPInteractor* mouseTrackInteractor
oPInteractorCanvas* mouseTrackCanvas

Protected Methods

ovirtual void _SetDimensions( PDIMENSION width, PDIMENSION height, CoordinateSystem coords )
ovirtual void _Invalidate( PORDINATE x, PORDINATE y, PDIMENSION width, PDIMENSION height, CoordinateSystem coords )
ovirtual void _Validate( PORDINATE x, PORDINATE y, PDIMENSION width, PDIMENSION height, CoordinateSystem coords )
ovirtual void _SetCursorPos( PORDINATE x, PORDINATE y, CoordinateSystem coords )
ovirtual void _SetCaretPos( PORDINATE x, PORDINATE y, CoordinateSystem coords )
ovirtual void SetFocusInteractor( PInteractor * interactor )
ovirtual PInteractor* GetFocusInteractor() const

Protected

o Flag to indicate that the parent interactor layouts cursor should be used with this interactor.


Documentation

A combination of an edit text box and a drop down list box. This is typically used for arbitrary text entry with the ability to select from a set of pre-defined strings.

The exact appearence of a check box is platform dependent, however, they all have a section for entring the editable text and some mechanism for displaying the list of strings.

oenum StringSorting
Option for the strings in the choice box.

o NotSorted
Strings are in the order they are added.

o Sorted
Strings are in alphabetic order.

o PComboBox( PInteractor * parent, StringSorting sorted = NotSorted )
Create a combo-box with optional sorting of the list box items.
Parameters:
parent - Interactor into which the control is placed.
sorted - Sorting option for strings in box.

o PComboBox( PInteractorLayout * parent, PRESOURCE_ID ctlID, const PNotifier & notify, PString * valuePtr )
Create control from interactor layout with the specified control ID.
Parameters:
parent - Interactor into which the box is placed.
ctlID - Identifier for the control in the layout.
notify - Function to call when changes state.
valuePtr - Variable to change to the check box state.

o ~PComboBox()
Destroy the combo-box and its contents.

o Codes passed to the PNotifier function when the specified notification events occur
Codes passed to the PNotifier function when the specified notification events occur

o EditChange
The text in the combo-box was changed.

o EndEdit
The edit box was tabbed out of so its value is final.

o NewSelection
A new choice was made from this list

o ListDropped
The list of selections has been presented.

o ListClosed
The list of selections has been hidden.

o Overrides from class PInteractor

ovirtual BOOL OnEndInput()
The system calls this whenever the system wishes to change focus to another interactor in a given PTitledWindow or PInteractorLayout.

This function in conjunction with the keyboard focus changing and the PInteractor::SetFocusInteractor() function controls the transfer of focus from one interactor in a logical group (eg dialog) to another. It is primarily used for field level validation. For example the PIntegerEditBox control uses this to prevent the user from exiting the control until a valid entry hash been made.

Note that the focus does actually change with appropriate calls to the PInteractor::OnGainFocus() and PInteractor::OnLostFocus() functions. The focus gets set back to the original interactor when this function disallows the focus change.

For edit boxes this will execute the notification function before returning TRUE.

Returns:
FALSE will prevent the focus change from occurring and TRUE allows the change.

o Overrides from class PControl

ovirtual void TransferValue( int option )
This function transfers the value of the control to or from the variable pointed to by the value pointer member variable.
Parameters:
option - Transfer value option. When this is -1 when the function transfers the value from the value pointer into the control. This is called in PDialog::OnInit() function. When option is zero then the function transfers the value from the control to the value pointer variable. This is called just before the callback function every time the choice box value changes.

o New functions for class

ovoid SetText( const PString & str )
Set the text in the edit text part of the combo-box.
Parameters:
str - New text to place in the text edit box.

oPString GetText() const
Get the text in the edit text part of the combo-box.

Returns:
text string entered.

oPString* GetValuePointer() const
Get the current value pointer associated with the control. The variable pointed to by this is autamatically updated with the current value of the choice box.

Returns:
value pointer associated with the control.

ovoid SetValuePointer( PString * ptr )
Set the current value pointer associated with the control. The variable pointed to by this is autamatically updated with the current value of the combo-box.
Parameters:
ptr - New value pointer to associate with the control.

ovoid SetMaxText( PINDEX max )
Set the maximum amount of text that the user may enter in the combo-box edit text part. Extra characters entered when it is full are ignored.
Parameters:
max - Maximum number of characters in text.

oPINDEX GetLength() const
Get the current length of the text entered into the edit box. This is equivalent to GetText().GetLength().

Returns:
number of characters in edit box.

ovoid SetSelection( PINDEX start = 0, PINDEX finish = P_MAX_INDEX )
Set the selected region in the text within the edit box. The selected region includes the character at the start position but does not include the character at the finish position.

If start and finish are equal then there is no selected region. However, the caret is placed immediately before that position, ie so that the next character entered will be at start offset into the resultant string.

If finish is less than start it is set to the same value as start. If either value is greater than the current length of the edit box, then they are set to the position of the end of the string.

Parameters:
start - Start index position of selected text.
finish - Finish index position of selected text.

oBOOL GetSelection( PINDEX * start = NULL, PINDEX * finish = NULL ) const
Get the selected region in the text in the edit box. If there is no selection active, the start and finish variables are both set to the caret position in the string.

Returns:
TRUE if has selection, FALSE if there is nothing selected.
Parameters:
start - Pointer to receive starting position of selected text.
finish - Pointer to receive finishing position of selected text.

ovoid Cut()
Cut the selected text to the clipboard. This copies the data and then deletes the current selection.

If there is no current selection then this function does nothing.

ovoid Copy() const
Copy the selected text to the clipboard.

If there is no current selection then this function does nothing.

ovoid Paste()
Paste into the edit control from the clipboard into the edit box at the current caret position.

If the paste would add so many characters that the limit set with SetMaxText() would be exceeded then the paste does not take place.

Also, if there is no text in the clipboard then this function does nothing.

ovoid Clear()
Delete the selected text. This does not copy the information to the clipboard and the selected text is lost.

If there is no current selection then this function does nothing.

oPINDEX AddString( const PString & str )
Add a new string to the list box. If the sorted option was used this will place the string in the correct position. Otherwise it adds it to the end of the list.

Returns:
the index that the string was placed.
Parameters:
str - String to add to the list of choices.

ovoid AddStrings( const PCollection & objects )
Add a collection of new entries to the combo-box. Each element of the collection is added in order using the AddEntry() function. Thus, for example, a sorted list string will be added in sorted order.

If the collection is not of string objects then they are translated into a string by the use of the operator<< function.

Parameters:
objects - New objects to add to list box.

ovoid InsertString( const PString & str, PINDEX index )
Insert a string at the specified location. This ignores the sort order and explicitly places the string at the index position.
Parameters:
str - String to add to the list of choices.
index - Position in list to place the new string.

ovoid DeleteString( PINDEX index )
Delete a string from the list of choices in the combo-box.
Parameters:
index - Position in list of the string to remove.

ovoid DeleteAllStrings()
Delete all the strings in the list box.

oPINDEX FindString( const PString & str, PINDEX startIndex = P_MAX_INDEX, BOOL exact = FALSE ) const
Find the string in the list of choices starting at the entry after the specified starting index. If the index is P_MAX_INDEX then searches the whole list. The exact flag indicates that the whole string must match otherwise a string in the list box that matches up to the length of the argument string will be found.

Returns:
index position of the string that meets the matching criteria or P_MAX_INDEX if it was not found.
Parameters:
str - String to search for in the list of choices.
startIndex - Index into list to start search.
exact - Flag for whether search is exact or partial.

ovoid SetString( const PString & str, PINDEX index )
Set the string at the index position. If the index is beyond the end of the list then simply adds the string to the end of the list.
Parameters:
str - String to set in the list of choices.
index - Position in the list of choices to set.

oPString GetString( PINDEX index ) const
Get the string at the index. If the index is beyond the end of the list then returns the empty string.

Returns:
string for the entry in the list of choices.
Parameters:
index - Position in the list of choices to retrieve.

oPINDEX GetCount() const
Get the count of the number of items in the list of choices in the combo-box.

Returns:
number of choices.

ovoid SetCurrent( PINDEX index )
Set the current selection to the string specified by the index. The value of the string selectged is copied to the edit text box part of the combo-box. The string may then subsequently be edited.
Parameters:
index - Index into list of the string to copy.

oPINDEX GetCurrent() const
Get the current selection. This is the selection made by either the user selecting an item in the list box part of the combo-box or the program using the SetCurrent() function. In either case once the edit text part has been edited by the user the "current" selection is no longer valid and the index returned is P_MAX_INDEX.

Returns:
index of the selected string in the list box.

oBOOL sort
The coice box strings are sorted.


This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.