// default copy ctor and assignment operator are okay.
+ // Factor constructor creating an invalid wxGBSpan: this is mostly supposed
+ // to be used as return value for functions returning wxGBSpan in case of
+ // errors.
+ static wxGBSpan Invalid()
+ {
+ return wxGBSpan(NULL);
+ }
+
int GetRowspan() const { return m_rowspan; }
int GetColspan() const { return m_colspan; }
void SetRowspan(int rowspan)
bool operator!=(const wxGBSpan& o) const { return !(*this == o); }
private:
+ // This private ctor is used by Invalid() only.
+ wxGBSpan(struct InvalidCtorTag*)
+ {
+ m_rowspan =
+ m_colspan = -1;
+ }
+
void Init()
{
m_rowspan =
wxGBSpan wxGridBagSizer::GetItemSpan(wxWindow *window)
{
- wxGBSpan badspan(-1,-1);
wxGBSizerItem* item = FindItem(window);
- wxCHECK_MSG( item, badspan, wxT("Failed to find item.") );
+ wxCHECK_MSG( item, wxGBSpan::Invalid(), wxT("Failed to find item.") );
return item->GetSpan();
}
wxGBSpan wxGridBagSizer::GetItemSpan(wxSizer *sizer)
{
- wxGBSpan badspan(-1,-1);
wxGBSizerItem* item = FindItem(sizer);
- wxCHECK_MSG( item, badspan, wxT("Failed to find item.") );
+ wxCHECK_MSG( item, wxGBSpan::Invalid(), wxT("Failed to find item.") );
return item->GetSpan();
}
wxGBSpan wxGridBagSizer::GetItemSpan(size_t index)
{
- wxGBSpan badspan(-1,-1);
wxSizerItemList::compatibility_iterator node = m_children.Item( index );
- wxCHECK_MSG( node, badspan, wxT("Failed to find item.") );
+ wxCHECK_MSG( node, wxGBSpan::Invalid(), wxT("Failed to find item.") );
wxGBSizerItem* item = (wxGBSizerItem*)node->GetData();
return item->GetSpan();
}