wxListCtrl *wxListCtrlXmlHandler::HandleListCtrl() { XRC_MAKE_INSTANCE(list, wxListCtrl) list->Create(m_parentAsWindow, GetID(), GetPosition(), GetSize(), GetStyle(), wxDefaultValidator, GetName()); // we can optionally have normal and/or small image lists wxImageList *imagelist; imagelist = GetImageList(wxT("imagelist")); if ( imagelist ) list->AssignImageList(imagelist, wxIMAGE_LIST_NORMAL); imagelist = GetImageList(wxT("imagelist-small")); if ( imagelist ) list->AssignImageList(imagelist, wxIMAGE_LIST_SMALL); CreateChildrenPrivately(list); SetupWindow(list); return list; }
wxObject * MaxCheckListBoxXmlHandler::DoCreateResource() { if (m_class == wxT("wxCheckListBox")) { // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); XRC_MAKE_INSTANCE(control, MaxCheckListBox) control->Create(m_parentAsWindow, GetID(), GetPosition(), GetSize(), strList, GetStyle(), wxDefaultValidator, GetName()); // step through children myself (again.) wxXmlNode *n = GetParamNode(wxT("content")); if (n) n = n->GetChildren(); int i = 0; while (n) { if (n->GetType() != wxXML_ELEMENT_NODE || n->GetName() != wxT("item")) { n = n->GetNext(); continue; } // checking boolean is a bit ugly here (see GetBool() ) wxString v = n->GetPropVal(wxT("checked"), wxEmptyString); v.MakeLower(); if (v == wxT("1")) control->Check( i, true ); i++; n = n->GetNext(); } control->MaxBind(_wx_wxchecklistbox_wxCheckListBox__xrcNew(control)); SetupWindow(control); strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item checked="boolean">Label</item> // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) str = wxGetTranslation(str, m_resource->GetDomain()); strList.Add(str); return NULL; } }
wxObject *wxRadioBoxXmlHandler::DoCreateResource() { if( m_class == wxT("wxRadioBox")) { // find the selection long selection = GetLong( wxT("selection"), -1 ); // need to build the list of strings from children m_insideBox = TRUE; CreateChildrenPrivately( NULL, GetParamNode(wxT("content"))); wxString *strings = (wxString *) NULL; if( strList.GetCount() > 0 ) { strings = new wxString[strList.GetCount()]; int count = strList.GetCount(); for( int i = 0; i < count; i++ ) strings[i]=strList[i]; } XRC_MAKE_INSTANCE(control, wxRadioBox) control->Create(m_parentAsWindow, GetID(), GetText(wxT("label")), GetPosition(), GetSize(), strList.GetCount(), strings, GetLong(wxT("dimension"), 1), GetStyle(), wxDefaultValidator, GetName()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); if (strings != NULL) delete[] strings; strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item selected="boolean">Label</item> // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) str = wxGetTranslation(str); strList.Add(str); return NULL; } }
wxDataViewListCtrl* MyWxDataViewListCtrlHandler::HandleListCtrl() { XRC_MAKE_INSTANCE(list, wxDataViewListCtrl) list->Create(m_parentAsWindow, GetID(), GetPosition(), GetSize(), GetStyle()); list->SetName(GetName()); CreateChildrenPrivately(list); SetupWindow(list); return list; }
wxObject * MaxOwnerDrawnComboBoxXmlHandler::DoCreateResource() { if( m_class == wxT("wxOwnerDrawnComboBox")) { // find the selection long selection = GetLong( wxT("selection"), -1 ); // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); XRC_MAKE_INSTANCE(control, MaxOwnerDrawnComboBox) control->Create(m_parentAsWindow, GetID(), GetText(wxT("value")), GetPosition(), GetSize(), strList, GetStyle(), wxDefaultValidator, GetName()); control->MaxBind(_wx_wxownerdrawncombobox_wxOwnerDrawnComboBox__xrcNew(control)); wxSize sizeBtn=GetSize(wxT("buttonsize")); if (sizeBtn != wxDefaultSize) control->SetButtonPosition(sizeBtn.GetWidth(), sizeBtn.GetHeight()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item>Label</item> // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) str = wxGetTranslation(str, m_resource->GetDomain()); strList.Add(str); return NULL; } }
wxObject *wxEditableListBoxXmlHandler::DoCreateResource() { if ( m_class == EDITLBOX_CLASS_NAME ) { // create the control itself XRC_MAKE_INSTANCE(control, wxEditableListBox) control->Create ( m_parentAsWindow, GetID(), GetText("label"), GetPosition(), GetSize(), GetStyle(), GetName() ); SetupWindow(control); // if any items are given, add them to the control wxXmlNode * const contents = GetParamNode("content"); if ( contents ) { m_insideBox = true; CreateChildrenPrivately(NULL, contents); m_insideBox = false; control->SetStrings(m_items); m_items.clear(); } return control; } else if ( m_insideBox && m_node->GetName() == EDITLBOX_ITEM_NAME ) { wxString str = GetNodeContent(m_node); if ( m_resource->GetFlags() & wxXRC_USE_LOCALE ) str = wxGetTranslation(str, m_resource->GetDomain()); m_items.push_back(str); return NULL; } else { ReportError("Unexpected node inside wxEditableListBox"); return NULL; } }
wxObject *wxComboBoxXmlHandler::DoCreateResource() { if( m_class == wxT("wxComboBox")) { // find the selection long selection = GetLong( wxT("selection"), -1 ); // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); XRC_MAKE_INSTANCE(control, wxComboBox) control->Create(m_parentAsWindow, GetID(), GetText(wxT("value")), GetPosition(), GetSize(), strList, GetStyle(), wxDefaultValidator, GetName()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); const wxString hint = GetText(wxS("hint")); if ( !hint.empty() ) control->SetHint(hint); strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item>Label</item> // add to the list strList.Add(GetNodeText(m_node, wxXRC_TEXT_NO_ESCAPE)); return NULL; } }
wxObject *wxSimpleHtmlListBoxXmlHandler::DoCreateResource() { if ( m_class == wxT("wxSimpleHtmlListBox")) { // find the selection long selection = GetLong(wxT("selection"), -1); // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); m_insideBox = false; XRC_MAKE_INSTANCE(control, wxSimpleHtmlListBox) control->Create(m_parentAsWindow, GetID(), GetPosition(), GetSize(), strList, GetStyle(wxT("style"), wxHLB_DEFAULT_STYLE), wxDefaultValidator, GetName()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item>Label</item> // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) str = wxGetTranslation(str, m_resource->GetDomain()); strList.Add(str); return NULL; } }
wxObject *wxRadioBoxXmlHandler::DoCreateResource() { if ( m_class == wxT("wxRadioBox")) { // find the selection long selection = GetLong( wxT("selection"), -1 ); // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately( NULL, GetParamNode(wxT("content"))); XRC_MAKE_INSTANCE(control, wxRadioBox) control->Create(m_parentAsWindow, GetID(), GetText(wxT("label")), GetPosition(), GetSize(), m_labels, GetLong(wxT("dimension"), 1), GetStyle(), wxDefaultValidator, GetName()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); const unsigned count = m_labels.size(); for( unsigned i = 0; i < count; i++ ) { #if wxUSE_TOOLTIPS if ( !m_tooltips[i].empty() ) control->SetItemToolTip(i, m_tooltips[i]); #endif // wxUSE_TOOLTIPS #if wxUSE_HELP if ( m_helptextSpecified[i] ) control->SetItemHelpText(i, m_helptexts[i]); #endif // wxUSE_HELP if ( !m_isShown[i] ) control->Show(i, false); if ( !m_isEnabled[i] ) control->Enable(i, false); } // forget information about the items of this radiobox, we should start // afresh for the next one m_labels.clear(); #if wxUSE_TOOLTIPS m_tooltips.clear(); #endif // wxUSE_TOOLTIPS #if wxUSE_HELP m_helptexts.clear(); m_helptextSpecified.clear(); #endif // wxUSE_HELP m_isShown.clear(); m_isEnabled.clear(); return control; } else // inside the radiobox element { // we handle handle <item>Label</item> constructs here, and the item // tag can have tooltip, helptext, enabled and hidden attributes wxString label = GetNodeContent(m_node); wxString tooltip; m_node->GetAttribute(wxT("tooltip"), &tooltip); wxString helptext; bool hasHelptext = m_node->GetAttribute(wxT("helptext"), &helptext); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) { label = wxGetTranslation(label, m_resource->GetDomain()); if ( !tooltip.empty() ) tooltip = wxGetTranslation(tooltip, m_resource->GetDomain()); if ( hasHelptext ) helptext = wxGetTranslation(helptext, m_resource->GetDomain()); } m_labels.push_back(label); #if wxUSE_TOOLTIPS m_tooltips.push_back(tooltip); #endif // wxUSE_TOOLTIPS #if wxUSE_HELP m_helptexts.push_back(helptext); m_helptextSpecified.push_back(hasHelptext); #endif // wxUSE_HELP m_isEnabled.push_back(GetBoolAttr("enabled", 1)); m_isShown.push_back(!GetBoolAttr("hidden", 0)); return NULL; } }
wxObject *wxCheckListBoxXmlHandler::DoCreateResource() { if (m_class == wxT("wxCheckListBox") #if WXWIN_COMPATIBILITY_2_4 || m_class == wxT("wxCheckList") #endif ) { #if WXWIN_COMPATIBILITY_2_4 if (m_class == wxT("wxCheckList")) wxLogDebug(wxT("'wxCheckList' name is deprecated, use 'wxCheckListBox' instead.")); #endif // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); wxString *strings = (wxString *) NULL; if (strList.GetCount() > 0) { strings = new wxString[strList.GetCount()]; int count = strList.GetCount(); for(int i = 0; i < count; i++) strings[i] = strList[i]; } XRC_MAKE_INSTANCE(control, wxCheckListBox) control->Create(m_parentAsWindow, GetID(), GetPosition(), GetSize(), strList.GetCount(), strings, GetStyle(), wxDefaultValidator, GetName()); // step through children myself (again.) wxXmlNode *n = GetParamNode(wxT("content")); if (n) n = n->GetChildren(); int i = 0; while (n) { if (n->GetType() != wxXML_ELEMENT_NODE || n->GetName() != wxT("item")) { n = n->GetNext(); continue; } // checking boolean is a bit ugly here (see GetBool() ) wxString v = n->GetPropVal(wxT("checked"), wxEmptyString); v.MakeLower(); if (v && v == wxT("1")) control->Check( i, true ); i++; n = n->GetNext(); } SetupWindow(control); if (strings != NULL) delete[] strings; strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item checked="boolean">Label</item> // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) str = wxGetTranslation(str); strList.Add(str); return NULL; } }
wxObject *wxRadioBoxXmlHandler::DoCreateResource() { if ( m_class == wxT("wxRadioBox")) { // find the selection long selection = GetLong( wxT("selection"), -1 ); // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately( NULL, GetParamNode(wxT("content"))); XRC_MAKE_INSTANCE(control, wxRadioBox) control->Create(m_parentAsWindow, GetID(), GetText(wxT("label")), GetPosition(), GetSize(), m_labels, GetLong(wxT("dimension"), 1), GetStyle(), wxDefaultValidator, GetName()); if (selection != -1) control->SetSelection(selection); SetupWindow(control); const unsigned count = m_labels.size(); for( unsigned i = 0; i < count; i++ ) { #if wxUSE_TOOLTIPS if ( !m_tooltips[i].empty() ) control->SetItemToolTip(i, m_tooltips[i]); #endif // wxUSE_TOOLTIPS #if wxUSE_HELP if ( m_helptextSpecified[i] ) control->SetItemHelpText(i, m_helptexts[i]); #endif // wxUSE_HELP if ( !m_isShown[i] ) control->Show(i, false); if ( !m_isEnabled[i] ) control->Enable(i, false); } // forget information about the items of this radiobox, we should start // afresh for the next one m_labels.clear(); #if wxUSE_TOOLTIPS m_tooltips.clear(); #endif // wxUSE_TOOLTIPS #if wxUSE_HELP m_helptexts.clear(); m_helptextSpecified.clear(); #endif // wxUSE_HELP m_isShown.clear(); m_isEnabled.clear(); return control; } else // inside the radiobox element { // we handle handle <item>Label</item> constructs here, and the item // tag can have tooltip, helptext, enabled and hidden attributes // For compatibility, labels are not escaped in XRC by default and // label="1" attribute needs to be explicitly specified to handle them // consistently with the other labels. m_labels.push_back(GetNodeText(m_node, GetBoolAttr("label", 0) ? 0 : wxXRC_TEXT_NO_ESCAPE)); #if wxUSE_TOOLTIPS m_tooltips.push_back(GetNodeText(GetParamNode(wxT("tooltip")), wxXRC_TEXT_NO_ESCAPE)); #endif // wxUSE_TOOLTIPS #if wxUSE_HELP const wxXmlNode* const nodeHelp = GetParamNode(wxT("helptext")); m_helptexts.push_back(GetNodeText(nodeHelp, wxXRC_TEXT_NO_ESCAPE)); m_helptextSpecified.push_back(nodeHelp != NULL); #endif // wxUSE_HELP m_isEnabled.push_back(GetBoolAttr("enabled", 1)); m_isShown.push_back(!GetBoolAttr("hidden", 0)); return NULL; } }
wxObject *wxCheckListBoxXmlHandler::DoCreateResource() { if (m_class == wxT("wxCheckListBox")) { // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately(NULL, GetParamNode(wxT("content"))); XRC_MAKE_INSTANCE(control, wxCheckListBox) control->Create(m_parentAsWindow, GetID(), GetPosition(), GetSize(), strList, GetStyle(), wxDefaultValidator, GetName()); // step through children myself (again.) wxXmlNode *n = GetParamNode(wxT("content")); if (n) n = n->GetChildren(); int i = 0; #if defined(__INTEL_COMPILER) && 1 /* VDM auto patch */ # pragma ivdep # pragma swp # pragma unroll # pragma prefetch # if 0 # pragma simd noassert # endif #endif /* VDM auto patch */ while (n) { if (n->GetType() != wxXML_ELEMENT_NODE || n->GetName() != wxT("item")) { n = n->GetNext(); continue; } // checking boolean is a bit ugly here (see GetBool() ) wxString v = n->GetAttribute(wxT("checked"), wxEmptyString); v.MakeLower(); if (v == wxT("1")) control->Check( i, true ); i++; n = n->GetNext(); } SetupWindow(control); strList.Clear(); // dump the strings return control; } else { // on the inside now. // handle <item checked="boolean">Label</item> // add to the list wxString str = GetNodeContent(m_node); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) str = wxGetTranslation(str, m_resource->GetDomain()); strList.Add(str); return NULL; } }
wxObject *CGRadioBox::DoCreateResource() { if ( m_class == wxT("wxRadioBox")) { // find the selection long selection = GetLong( wxT("selection"), -1 ); // need to build the list of strings from children m_insideBox = true; CreateChildrenPrivately( NULL, GetParamNode(wxT("content"))); wxString *strings; if ( !labels.empty() ) { strings = new wxString[labels.size()]; const unsigned count = labels.size(); for( unsigned i = 0; i < count; i++ ) strings[i] = labels[i]; } else { strings = NULL; } XRC_MAKE_INSTANCE(control, wxRadioBox) control->Create(m_parentAsWindow, GetID(), GetText(wxT("label")), GetPosition(), GetSize(), labels.size(), strings, GetLong(wxT("dimension"), 1), GetStyle(), wxDefaultValidator, GetName()); delete[] strings; if (selection != -1) control->SetSelection(selection); SetupWindow(control); const unsigned count = labels.size(); for( unsigned i = 0; i < count; i++ ) { if ( !tooltips[i].empty() ) control->SetItemToolTip(i, tooltips[i]); if ( helptextSpecified[i] ) control->SetItemHelpText(i, helptexts[i]); } labels.clear(); // dump the strings tooltips.clear(); // dump the tooltips helptexts.clear(); // dump the helptexts helptextSpecified.clear(); return control; } else // inside the radiobox element { // we handle handle <item tooltip="..." helptext="...">Label</item> constructs here wxString str = GetNodeContent(m_node); wxString tooltip; m_node->GetAttribute(wxT("tooltip"), &tooltip); wxString helptext; bool hasHelptext = m_node->GetAttribute(wxT("helptext"), &helptext); if (m_resource->GetFlags() & wxXRC_USE_LOCALE) { str = wxGetTranslation(str, m_resource->GetDomain()); if ( !tooltip.empty() ) tooltip = wxGetTranslation(tooltip, m_resource->GetDomain()); if ( hasHelptext ) helptext = wxGetTranslation(helptext, m_resource->GetDomain()); } labels.push_back(str); tooltips.push_back(tooltip); helptexts.push_back(helptext); helptextSpecified.push_back(hasHelptext); return NULL; } }