Rhino C++ API  8.13
Public Member Functions | Protected Attributes | Friends | List of all members
CRhinoUiOptionsListCtrlGroupComboBox Class Reference

#include <RhinoSdkUiOptionsListCtrlItem.h>

Inheritance diagram for CRhinoUiOptionsListCtrlGroupComboBox:
CRhinoUiOptionsListCtrlComboBox CRhinoUiComboBox CRhinoUiOptionsListCtrlItem

Public Member Functions

 CRhinoUiOptionsListCtrlGroupComboBox (LPCTSTR lpsLabel=NULL, LPCTSTR lpsText=NULL, int iIndentLevel=0, CRhinoUiComboBoxItemData::class_type ct=CRhinoUiComboBoxItemData::ct_strings)
 
virtual ~CRhinoUiOptionsListCtrlGroupComboBox ()
 
int AddGroupItem (const wchar_t *lpsComboText, CRhinoUiOptionsListCtrlItem **group_items, const int count)
 
int AddGroupItem (const wchar_t *lpsComboText, ON_SimpleArray< CRhinoUiOptionsListCtrlItem * > &group_items)
 
int CurGroupSel () const
 
virtual bool OnComboBoxPopulated ()
 
virtual void OnItemComboBoxSelChanged ()
 
virtual bool PopulateComboBox ()
 
int SetCurGroupSel (int iCur)
 
- Public Member Functions inherited from CRhinoUiOptionsListCtrlComboBox
 CRhinoUiOptionsListCtrlComboBox (LPCTSTR lpsLabel=NULL, LPCTSTR lpsText=NULL, int iIndentLevel=0, CRhinoUiComboBoxItemData::class_type ct=CRhinoUiComboBoxItemData::ct_strings)
 
virtual ~CRhinoUiOptionsListCtrlComboBox ()
 
virtual bool BeginEditItem (CRhinoUiOptionsListCtrl &list_ctrl, const CRect rEdit, begin_edit_item_reason eir)
 
bool DrawDownArrow () const
 
virtual void MeasureItem (LPMEASUREITEMSTRUCT)
 
void MoveItemWindow (CRhinoUiOptionsListCtrl &list_ctrl, const CRect rEdit)
 
virtual void OnDrawDownArrow (CDC &dc, CRect &rItem, const CRect &rDeflate) const
 
virtual void OnDrawItem (CDC &dc, const CRect &rItem, const CRect &rDeflate) const
 
afx_msg BOOL32 OnMouseWheel (UINT nFlags, short zDelta, CPoint pt)
 
virtual BOOL32 PreTranslateMessage (MSG *pMsg)
 virtual overrides More...
 
bool SetDrawDownArrow (bool b)
 
bool SetShowDropDownOnBeginEdit (bool b)
 
void SetText (LPCTSTR lps)
 
bool ShowDropDownOnBeginEdit () const
 
- Public Member Functions inherited from CRhinoUiComboBox
 CRhinoUiComboBox ()
 
virtual ~CRhinoUiComboBox ()
 
int AddColorItem (LPCTSTR lpsColorName, COLORREF color, bool link_to_color_dialog=false)
 
int AddFontItem (const LOGFONT &lf)
 
int AddLayer (const CRhinoLayer &layer)
 
int AddLinetype (const ON_Linetype &linetype)
 
int AddPrintWidthItem (double cx)
 
COLORREF ColorFromListIndex (int iIndex, COLORREF crError=CRhinoUiPaintManager::error_color) const
 
bool ColorIsByLayer (COLORREF cr) const
 
bool ColorIsByParent (COLORREF cr) const
 
ON_wString ColorNameFromColorRef (COLORREF cr)
 
color_swatch_draw_style ColorSwatchDrawStyle () const
 
virtual int CompareItem (LPCOMPAREITEMSTRUCT)
 
bool CreateAsOwnerDraw () const
 
virtual void DeleteItem (LPDELETEITEMSTRUCT)
 
virtual void DrawItem (LPDRAWITEMSTRUCT)
 
int FillLayerList (CRhinoDoc *doc, bool bUseSortedList, int(*compare)(const CRhinoLayer *, const CRhinoLayer *, void *)=NULL, int(*cull)(const CRhinoLayer *, void *)=NULL, void *p=0)
 
int FillLinetypeList (CRhinoDoc *doc, bool bUseSortedList, bool bIncludeByLayer, bool bIncludeByParent, bool bReadDefaultLinetypeFile, int(*compare)(const CRhinoLinetype *, const CRhinoLinetype *, void *)=NULL, int(*cull)(const CRhinoLinetype *, void *)=NULL, void *p=NULL)
 
int FillUsingInstalledFonts (bool bIncludeTrueType=true, bool bIncludeNonTrueType=true)
 
int FillUsingStandardColorList (bool bIncludeByLayerColor=true, bool bIncludeCustomColor=true, bool bIncludeByParentColor=true, bool bIncludeByDisplayColor=false)
 
int FillUsingStandardPrintWidths (bool bIncludeByLayer, bool bIncludeDefault, bool bIncludeByParent, bool bIncludeNoPrint, bool bIncludeHairline)
 
CRhinoUiComboBoxItemDataGetComboBoxItemData (int iIndex) const
 
COLORREF GetCurColor () const
 
int GetCurColor (COLORREF &color) const
 
int GetCurFont (LOGFONT &lf_out)
 
const RhinoUiLayerComboBoxItemDataGetCurLayer () const
 
const RhinoUiLinetypeComboBoxItemDataGetCurLinetype () const
 
const RhinoUiPrintWidthComboBoxItemDataGetCurPrintWidth () const
 
int GetFontIndex (const LOGFONT &lf)
 
int GetFontIndex (LPCTSTR lpsFontFace)
 
bool GetTextFromListIndex (int iIndex, CString &sResult) const
 
class CRhinoUiPopDownLayerWndLayerPopDownWindow () const
 
UUID LayerUUIDFromListIndex (int iIndex) const
 
RhinoUiLinetypeComboBoxItemDataLinetypeDataFromListIndex (int iIndex) const
 
const ON_LinetypeLinetypeReadFromFile (const UUID &uuiid) const
 
UUID LinetypeUUIDFromListIndex (int iIndex) const
 
int ListIndexFromLayerUUID (const UUID &uuid) const
 
int ListIndexFromLinetypeUUID (const UUID &uuid) const
 
int ListIndexFromPrintWidth (double cx) const
 
virtual CRhinoUiComboBoxItemDataNewCRhinoUiComboBoxItemData (CRhinoUiComboBoxItemData::class_type ct) const
 
afx_msg void OnCbnDropDown ()
 
afx_msg void OnCbnSelchange ()
 
afx_msg int OnCreate (LPCREATESTRUCT lpCreateStruct)
 
virtual void OnCustomColorChanged (COLORREF cr, int iItemIndex)
 
afx_msg void OnDestroy ()
 
afx_msg void OnEditKillFocus ()
 
afx_msg void OnEditUpdate ()
 
afx_msg void OnLButtonDblClk (UINT nFlags, CPoint point)
 
afx_msg void OnLButtonDown (UINT nFlags, CPoint point)
 
void OnPrintWidthEditKillFocus ()
 
void OnPrintWidthEditUpdate ()
 
RhinoUiPrintWidthComboBoxItemDataPrintWidthDataFromListIndex (int iIndex) const
 
double PrintWidthFromString ()
 
color_swatch_draw_style SetColorSwatchDrawStyle (color_swatch_draw_style style)
 
bool SetCreateAsOwnerDraw (bool b)
 
COLORREF SetCurColor (COLORREF cr)
 
int SetCurFont (const LOGFONT &lf)
 
int SetCurFont (LPCTSTR lpsFontFace)
 
UUID SetCurLayer (UUID uuid, COLORREF cr)
 
UUID SetCurLinetype (UUID uuid)
 
double SetCurPrintWidth (double cx)
 
bool SetCustomColor (COLORREF cr)
 
- Public Member Functions inherited from CRhinoUiOptionsListCtrlItem
 CRhinoUiOptionsListCtrlItem (const CRhinoUiOptionsListCtrlItem &)
 
 CRhinoUiOptionsListCtrlItem (control_type ct=ct_invalid, LPCTSTR lpsLabel=NULL, LPCTSTR lpsText=NULL, int iIndentLevel=0)
 
virtual ~CRhinoUiOptionsListCtrlItem ()
 
bool AutoDelete () const
 
control_type ControlType () const
 
void DrawItemText (CDC &dc, const CString &s, const CRect &rItem, const CRect &rDeflate) const
 
bool GetItemProperty (item_property iprop) const
 
bool GetItemState (item_state istate) const
 
CRhinoUiOptionsListCtrlGetListCtrl () const
 
int IndentLevel () const
 
bool IsEnabled () const
 
bool IsFullRowItem () const
 
bool IsItemExpandable () const
 
bool IsItemHidden () const
 
bool IsReadOnly () const
 
virtual int ItemHeight () const
 
unsigned int ItemID () const
 
LPCTSTR Label () const
 
COLORREF LabelBackGroundColor () const
 
COLORREF LabelTextColor () const
 
const CRhinoUiOptionsListCtrlItemoperator= (const CRhinoUiOptionsListCtrlItem &)
 
int ParentIndex () const
 
bool SetAutoDelete (bool b)
 
int SetIndentLevel (int iIndentLevel)
 
bool SetIsEnabled (bool b)
 
bool SetIsFullRowItem (bool b)
 
bool SetIsReadOnly (bool b)
 
bool SetItemProperty (item_property iprop, bool bEnabled)
 
bool SetItemState (item_state istate, bool bEnabled)
 
bool SetLabel (LPCTSTR lpsLabel)
 
COLORREF SetLabelBackGroundColor (COLORREF cr)
 
COLORREF SetLabelTextColor (COLORREF cr)
 
bool SetParentIndex (int iItem)
 
bool SetUseLabelColors (bool b)
 
virtual LPCTSTR Text () const
 
bool UseLabelColors () const
 

Protected Attributes

int m_iCurGroupSel
 
class CGroupComboData * m_pData
 
- Protected Attributes inherited from CRhinoUiOptionsListCtrlComboBox
bool m_bDrawDownArrow
 
bool m_bIncludeEditCtrl
 
bool m_bOwnerDraw
 
bool m_bShowDropDownOnBeginEdit
 
bool m_bShowingDropDown
 
bool m_bSort
 
- Protected Attributes inherited from CRhinoUiComboBox
bool m_bIncludeNonTrueType
 
bool m_bIncludeTrueType
 
bool m_bInOnPrintWidthEditKillFocus
 
bool m_bShowReferenceLayers
 
change_mode m_change_mode
 
COLORREF m_crCustom
 
RhinoUiColorComboBoxItemData m_current_color
 CRhinoUiComboBoxItemData m_current;. More...
 
RhinoUiFontComboBoxItemData m_current_font
 
RhinoUiLayerComboBoxItemData m_current_layer
 
RhinoUiLinetypeComboBoxItemData m_current_linetype
 
RhinoUiPrintWidthComboBoxItemData m_current_print_width
 
CRhinoUiComboBoxItemData::class_type m_fill_class_type
 
ON_ObjectArray< ON_Linetypem_from_file_linetypes
 
class CRhinoUiPopDownLayerWndm_pWndLayerPopDown
 
color_swatch_draw_style m_swatch_style
 
- Protected Attributes inherited from CRhinoUiOptionsListCtrlItem
CPoint m_ptEndTrackSelect
 

Friends

class CGroupComboItem
 

Additional Inherited Members

- Public Types inherited from CRhinoUiComboBox
enum  color_swatch_draw_style { square_swatch = 0, diamond_swatch, circle_swatch, force_32bit_image_list = 0xFFFFFFFF }
 
enum  print_width_options {
  default_width = 0, no_print_width = - 1, by_layer_width = -10, by_parent_width = -15,
  list_box_error_width = -100, force_32bit_plot_width_option = 0xFFFFFFFF
}
 
- Public Types inherited from CRhinoUiOptionsListCtrlItem
enum  control_type {
  ct_static_text = 0, ct_edit_box, ct_check_box, ct_combo_box,
  ct_push_button, ct_ip_address, ct_radio_buttons, ct_color_combo_box,
  ct_color_button, ct_file, ct_font_combo, ct_layer_combo_box,
  ct_linetype_combo_box, ct_print_width_combo_box, ct_separator, ct_folder,
  ct_hyperlink, ct_custom_control, ct_invalid, force_32bit_control_type = 0xFFFFFFFF
}
 
enum  item_property {
  full_row_item_property = 1, use_label_colors_property = 2, is_group_combo_item_property = 4, property0 = 8,
  property1 = 0x10, property2 = 0x20, property3 = 0x40, property4 = 0x80,
  property5 = 0x100, property6 = 0x200, property7 = 0x400, property8 = 0x800,
  property9 = 0x1000, force_32bit_item_property = 0xFFFFFFFF
}
 
enum  item_state {
  expanded_state = 1, hidden_state = 2, enabled_state = 4, readonly_state = 8,
  hidden_group_state = 0x10, state0 = 0x20, state1 = 0x40, state2 = 0x80,
  state3 = 0x100, state4 = 0x200, state5 = 0x400, state6 = 0x800,
  state7 = 0x1000, state8 = 0x2000, state9 = 0x4000, force_32bit_item_state = 0xFFFFFFFF
}
 
- Static Public Member Functions inherited from CRhinoUiComboBox
static UUID ByLayerLinetypeID ()
 
static UUID ByParentLinetypeID ()
 
static UUID ContinuousLinetypeID ()
 
static bool GetPrintWidthDisplayString (double cx, ON_wString &result)
 
static UUID ListBoxErrorUUID ()
 
static bool ReadPrintWidthFile (const wchar_t *lpsFileName, ON_SimpleArray< double > &widths, bool bQuietly)
 
- Protected Types inherited from CRhinoUiComboBox
enum  change_mode { cm_selchange = 0, cm_editupdate, cm_nochange, force_32bit_change_mode = 0xFFFFFFFF }
 
- Protected Types inherited from CRhinoUiOptionsListCtrlItem
enum  begin_edit_item_reason {
  eir_label_left_clicked = 0, eir_value_left_clicked, eir_f2_pressed, eir_navigation_key,
  force_32bit_begin_edit_item_reason = 0xFFFFFFFF
}
 
- Protected Member Functions inherited from CRhinoUiOptionsListCtrlComboBox
afx_msg void OnCbnSelchange ()
 
afx_msg void OnEditKillFocus ()
 
afx_msg void OnKillFocus (CWnd *pNewWnd)
 
void ShowLayerPopDownWnd (HWND hWnd, bool bShow)
 CRhinoUiOptionsListCtrlComboBox. More...
 
- Protected Member Functions inherited from CRhinoUiComboBox
virtual LRESULT DefWindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 
void DestroyLayerPopDownWnd ()
 
virtual BOOL32 OnChildNotify (UINT message, WPARAM wParam, LPARAM lParam, LRESULT *pResult)
 
virtual BOOL32 OnWndMsg (UINT message, WPARAM wParam, LPARAM lParam, LRESULT *pResult)
 
virtual void PostNcDestroy ()
 
virtual void PreSubclassWindow ()
 
virtual LRESULT WindowProc (UINT message, WPARAM wParam, LPARAM lParam)
 
- Protected Member Functions inherited from CRhinoUiOptionsListCtrlItem
bool ForwardOnMouseWheel (CWnd &wnd, UINT nFlags, short zDelta, CPoint pt)
 
bool SetControlType (control_type ct)
 

Detailed Description


CRhinoUiOptionsListCtrlGroupComboBox

Description: This control will display a simple combo box containing a list of options.

Constructor & Destructor Documentation

◆ CRhinoUiOptionsListCtrlGroupComboBox()

CRhinoUiOptionsListCtrlGroupComboBox::CRhinoUiOptionsListCtrlGroupComboBox ( LPCTSTR  lpsLabel = NULL,
LPCTSTR  lpsText = NULL,
int  iIndentLevel = 0,
CRhinoUiComboBoxItemData::class_type  ct = CRhinoUiComboBoxItemData::ct_strings 
)

Description: Constructor

Parameters: lpsLabel [in] Label for this item, appears in left column of options list lpsText [in] Text associated with this item, appears in right column of options list ct [in] Type of control this is

See Also: CRhinoUiOptionsListCtrlItem::CRhinoUiOptionsListCtrlItem() CRhinoUiOptionsListCtrlItem::CRhinoUiOptionsListCtrlComboBox()

◆ ~CRhinoUiOptionsListCtrlGroupComboBox()

virtual CRhinoUiOptionsListCtrlGroupComboBox::~CRhinoUiOptionsListCtrlGroupComboBox ( )
virtual

Description: Destructor

Member Function Documentation

◆ AddGroupItem() [1/2]

int CRhinoUiOptionsListCtrlGroupComboBox::AddGroupItem ( const wchar_t *  lpsComboText,
CRhinoUiOptionsListCtrlItem **  group_items,
const int  count 
)

Description: Call this method to add an item and identify items associated with this group

Parameters: lpsComboText [in] String to display in the comobo box group_items [in] List of options list control items associated with this combo box item count [in] Number of items in group_items

Returns: Returns zero based combo box index for new item or -1 on error

◆ AddGroupItem() [2/2]

int CRhinoUiOptionsListCtrlGroupComboBox::AddGroupItem ( const wchar_t *  lpsComboText,
ON_SimpleArray< CRhinoUiOptionsListCtrlItem * > &  group_items 
)

Description: Call this method to add an item and identify items associated with this group

Parameters: lpsComboText [in] String to display in the comobo box group_items [in] List of options list control items associated with this combo box item

Returns: Returns zero based combo box index for new item or -1 on error

◆ CurGroupSel()

int CRhinoUiOptionsListCtrlGroupComboBox::CurGroupSel ( ) const

Description: Call this method to get the current combo box selection.

Returns: Returns zero based index of current selection

See Also: CRhinoUiOptionsListCtrl::SetCurGroupSel()

◆ OnComboBoxPopulated()

virtual bool CRhinoUiOptionsListCtrlGroupComboBox::OnComboBoxPopulated ( )
virtual

Description: This method is called after PopulateComboBox() to set default value or modify the contents of the combo box.

The default implementation of this method sends a CRhinoUiOptionsListCtrl::m_custom_win_msg_id custom windows message with a CRhinoUiOptionsListCtrl::nc_on_populate_combo_box notification code to the parent of the options list control this item is inserted in. You can either override this method prior to adding a item to the options list control or respond the the nc_populate_combo_box in the window that owns the options list control. See CRhinoUiOptionsListCtrl::notification_codes for details.

Returns: Returns true if combo box should be displayed; otherwise false.

See Also: CRhinoUiOptionsListCtrlComboBox::BeginEditItem() CRhinoUiOptionsListCtrl::m_custom_win_msg_id CRhinoUiOptionsListCtrl::notification_codes

Reimplemented from CRhinoUiOptionsListCtrlComboBox.

◆ OnItemComboBoxSelChanged()

virtual void CRhinoUiOptionsListCtrlGroupComboBox::OnItemComboBoxSelChanged ( )
virtual

Description: This method is called when the current selection of the combo box has changed.

The default implementation of this method sends a CRhinoUiOptionsListCtrl::m_custom_win_msg_id custom windows message with a CRhinoUiOptionsListCtrl::nc_on_combo_box_sel_changed notification code to the parent of the options list control this item is inserted in. You can either override this method prior to adding a item to the options list control or respond the the nc_populate_combo_box in the window that owns the options list control. See CRhinoUiOptionsListCtrl::notification_codes for details.

See Also: CRhinoUiOptionsListCtrl::m_custom_win_msg_id CRhinoUiOptionsListCtrl::notification_codes

Reimplemented from CRhinoUiOptionsListCtrlComboBox.

◆ PopulateComboBox()

virtual bool CRhinoUiOptionsListCtrlGroupComboBox::PopulateComboBox ( )
virtual

Description: This method is called by the control when the combo box has been created and needs to be populated with data. If this method returns false the combo box will destroyed.

The default implementation of this method sends a CRhinoUiOptionsListCtrl::m_custom_win_msg_id custom windows message with a CRhinoUiOptionsListCtrl::nc_populate_combo_box notification code to the parent of the options list control this item is inserted in. You can either override this method prior to adding a item to the options list control or respond the the nc_populate_combo_box in the window that owns the options list control. See CRhinoUiOptionsListCtrl::notification_codes for details.

Returns: Returns true if the combo box has been initialized and populated and should be displayed.

See Also: CRhinoUiOptionsListCtrlComboBox::BeginEditItem() CRhinoUiOptionsListCtrl::m_custom_win_msg_id CRhinoUiOptionsListCtrl::notification_codes

Reimplemented from CRhinoUiOptionsListCtrlComboBox.

◆ SetCurGroupSel()

int CRhinoUiOptionsListCtrlGroupComboBox::SetCurGroupSel ( int  iCur)

Description: Call this method to set the current combo box selection. Setting the current selection will show all items associated with that selection and hide all items associated with the previous selection

Parameters: iCur [in] Zero based index of item to make current.

Returns: Returns previous current item or -1 if there was none

See Also: CRhinoUiOptionsListCtrl::CurGroupSel()

Friends And Related Function Documentation

◆ CGroupComboItem

friend class CGroupComboItem
friend

Member Data Documentation

◆ m_iCurGroupSel

int CRhinoUiOptionsListCtrlGroupComboBox::m_iCurGroupSel
protected

◆ m_pData

class CGroupComboData* CRhinoUiOptionsListCtrlGroupComboBox::m_pData
protected